discord.py - 如果角色已获得用户没有的权限,则修改无法使用的角色的命令

问题描述 投票:0回答:1

我正在使用discord.py-rewrite库制作Discord BOT,我遇到了一个问题。实际上,我正在创建一个可以从我们指定的角色中删除所有权限的命令。但我希望此命令仅供具有Manage Roles权限的成员使用,但成员还必须拥有他们正在修改的角色的所有权限。例如,具有Manage Roles权限但没有View Audit Log权限的成员将无法在具有View Audit Log权限的角色上执行此命令。现在有人请我如何管理这个?

python discord.py discord.py-rewrite
1个回答
0
投票

获取角色和作者的Permissions,然后确认角色权限是作者权限的子集:

@bot.command()
@has_permissions(manage_roles=True)
async def remove_role(ctx, *, role: Role):
    if role.permissions <= ctx.author.permissions_in(ctx.message.channel):
        ...
    else:
        await ctx.send("You are missing permissions")
© www.soinside.com 2019 - 2024. All rights reserved.