Discord bot 不返回角色成员
Posted
技术标签:
【中文标题】Discord bot 不返回角色成员【英文标题】:Discord bot not returning members of role 【发布时间】:2021-08-11 06:59:49 【问题描述】:我正在尝试制作一个不和谐的机器人,它将列出服务器的所有管理员。它当前查找具有管理员权限的所有角色,并将其中的每个成员列出到控制台。但是,该机器人仅将自己打印为管理员,并且不显示包含任何成员的任何其他角色。我的代码如下:
async def get_admins(ctx):
admin_roles = [role for role in ctx.guild.roles if role.permissions.administrator]
admins = []
for role in admin_roles:
print(role)
print(role.members)
for member in role.members:
admins.append(member)
return admins
预期输出:
Admin
[people, people, more people]
Bot
[itself]
实际输出:
Admin
[]
Bot
[<Member id=844113179386707998 name='Orca' discriminator='1134' bot=True nick=None guild=<Guild id=807173965776027648 name='yea test medical bot' shard_id=None chunked=False member_count=5>>]
任何帮助将不胜感激。
【问题讨论】:
您是否启用了会员意图? 我以前从来不需要这样做。你如何启用成员意图? @Abdulaziz 【参考方案1】:确保启用意图。我希望当您启用它们时它会起作用。转到 discord.dev 上的机器人应用程序并启用意图。如果你创建一个commands.Bot
实例,还要添加这个:
intents = discord.Intents().all()
bot = commands.Bot(command_prefix="§",intents=intents)
如果您启用意图,您的机器人可以获取服务器的所有成员。
【讨论】:
谢谢,这正是它所需要的。我以前从来没有和服务器成员搞过,所以我不知道。谢谢。以上是关于Discord bot 不返回角色成员的主要内容,如果未能解决你的问题,请参考以下文章