我想发出一个命令来查看该服务器中具有特定角色的所有成员。但我现在拥有的是,我为每一个拥有这个角色的成员嵌入了一个插件。但我想把所有的东西都放在一个嵌件里,但是怎么做呢
@bot.command(name='members', aliases=['Members'])
@commands.has_permissions(manage_messages=True)
async def members(ctx,*args):
server = ctx.message.guild
role_name = (' '.join(args))
role_id = server.roles[0]
for role in server.roles:
if role_name == role.name:
role_id = role
break
else:
await ctx.send("Role doesn't exist")
return
for member in server.members:
if role_id in member.roles:
embed=discord.Embed(title=f"Members of {role}",description=f"{member.display_name} - {member.id}", color=0xfcf8f8)
await ctx.send(embed=embed)
您现在所做的是在每个成员之间循环,如果他们具有您想要的角色,则发送嵌入。因此,您将为每个成员发送一个嵌入,而不是发送一个包含所有所需信息的嵌入。我写的一个可能的解决方案是创建一个包含所有成员及其信息的字符串,然后将其发送到一个嵌入文件中
这里有几件事需要记住
Guild.roles
循环李>Guild.members
循环并检查成员是否具有该角色李>相关问题 更多 >
编程相关推荐