Discord.py重写角色层次结构检查



我在discord.py重写中写了一个机器人。到目前为止,它只有基本选项,如!踢禁令,和!unban。然而,目前的设置是,任何拥有适当权限的人都可以对任何人执行此操作。这意味着具有"主持人"级别的人可以禁止具有"管理员"级别的人员,这是不允许的。我如何添加一个简单的检查,以查看此人的级别是否高于/低于他们试图踢/禁止的人?

Member对象具有top_role属性,您可以直接比较角色(角色越大(:

@bot.command()
async def ban(ctx, target: Member):
if target.top_role >= ctx.author.top_role:
await ctx.send("You can only ban people below you")
return
...

最新更新