擅长:python、mysql、java
<p><strong>这里有几件事需要记住</strong></p>
<ol>
<li>您可以使用<a href="https://discordpy.readthedocs.io/en/latest/api.html#discord.utils.get" rel="nofollow noreferrer">^{<cd2>}</a>,而不是通过<code>Guild.roles</code>循环</李>
<li>我们使用<a href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Role.members" rel="nofollow noreferrer">^{<cd4>}</a>返回具有该角色的成员列表,而不是通过<code>Guild.members</code>循环并检查成员是否具有该角色</李>
<li>可以使用<a href="https://www.w3schools.com/python/ref_string_join.asp" rel="nofollow noreferrer">^{<cd5>}</a>代替for循环,并且可以最小化代码</李>
</ol>
<pre class="lang-py prettyprint-override"><code>@bot.command(name='members', aliases=['Members'])
@commands.has_permissions(manage_messages=True)
async def members(ctx,*args):
name = " ".join(args)
role = discord.utils.get(ctx.guild.roles, name=name)
if not role:
return await ctx.send("Role not found")
member_string = "\n".join([i.display_name + " - " + str(i.id) for i in role.members])
e = discord.Embed(title=f"Members of {role.name}", description=member_string, color=0xfcf8f8)
await ctx.send(embed=e)
</code></pre>