Python 获取特定角色的所有成员列表

新手上路,请多包涵

如何使用 discord 频道中的 !getuser 命令从特定角色获取成员列表。

 @bot.command(pass_context=True)
async def getuser(ctx):

机器人用他们的 ID 回复

 1. @user1#123
 2. @user2#123

原文由 Demotry 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 995
2 个回答

重写分支提供了一个属性 Role.members

在异步分支上,您必须遍历服务器的所有成员并检查他们的角色。

 @bot.command(pass_context=True)
async def getuser(ctx, role: discord.Role):
    role = discord.utils.get(ctx.message.server.roles, name="mod")
    if role is None:
        await bot.say('There is no "mod" role on this server!')
        return
    empty = True
    for member in ctx.message.server.members:
        if role in member.roles:
            await bot.say("{0.name}: {0.id}".format(member))
            empty = False
    if empty:
        await bot.say("Nobody has the role {}".format(role.mention))

原文由 Patrick Haugh 发布,翻译遵循 CC BY-SA 4.0 许可协议

当你可以做的时候,所有这些解决方案都太低效了

@bot.command()
async def getuser(ctx, role: discord.Role):
    await ctx.send("\n".join(str(member) for member in role.members)

原文由 Wasi Master 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题