【发布时间】:2021-04-21 10:09:16
【问题描述】:
我正在尝试制作一个机器人来列出拥有我询问的角色的成员列表(命令:$role 管理员回答:3 人具有管理员角色)以及何时询问(命令:$role list 管理员回答:@Justyn、@JustBoy、@JustBoss)。
我试过这段代码:
@bot.command(pass_context=True)
@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:
await ctx.send(f"{member.display_name} - {member.id}")
但是当我问 $members Botz 时,答案只是“Justyn Bot - 799779320906121236”(在服务器上,我有 8 个角色为 Botz 的机器人,但它只列出了自己的机器人(本身))。所以我很困惑。
如果有人知道怎么做,请告诉我!谢谢。
【问题讨论】:
-
您是否启用了意图?
-
应该不会吧?我什至不知道它是什么。
-
我知道我错过了
@bot.command(pass_context=True)
标签: python discord bots discord.py