繁体   English   中英

如何使用 discord.py 从成员中删除所有角色

[英]How to remove all roles from a member with discord.py

所以我想发出一个命令,从成员中删除所有角色,并在清除他/她的角色后向成员添加角色,这就是我所拥有的

@client.command()
async def prison(ctx, member: discord.Member):
   role = discord.utils.get(ctx.guild.roles, name='Prisoner')
   await member.remove_roles(member.roles)
   await member.add_roles(role)
   await ctx.send(f"{member} is imprisoned!")

现在这为他们添加了角色,但没有明确角色,有人知道为什么吗?

如果您只想删除所有角色,则使用edit()方法更容易。 像这样:

@client.command()
async def prison(ctx, member: discord.Member):
    role = discord.utils.get(ctx.guild.roles, name="Prisoner")
    await member.edit(roles=[])
    await member.add_roles(role)
    await ctx.send(f"{member} is imprisoned!")

*此外,如果您收到MissingPermissions错误,则意味着 Bot 在层次结构中低于您想要“监禁”的用户。 为了解决这个问题,在公会设置中将机器人角色移动到高于此用户角色的位置。

如果您还有任何问题,请随时在评论中提问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM