[英]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.