@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(