我试图查找服务器中的成员是否具有特定角色,然后从他那里删除该角色,但我不知道如何操作,这是代码:


@client.command()
async def find(ctx):
guild = ctx.message.guild
role = discord.utils.get(ctx.guild.roles,name="Palpatin")
for member in guild.members:
if role in member.roles :
await ctx.send(f'{member}')
await member.remove_roles(role)

当我尝试使用代码时,没有错误,但机器人程序不会发送具有角色的成员,也不会从该成员中删除角色

正如@Weylyn所说,如果没有完全命名为Palpatin的角色,则变量role可能是None,如果是这样,则您的if将始终求值为False,因为None in任何列表都将始终为False,这可能是您没有收到任何消息或错误的原因。

此外,如果您没有启用成员意图,您的for可能无法工作(请查看此处https://discordpy.readthedocs.io/en/stable/intents.html(

相关内容

  • 没有找到相关文章