【问题标题】:Discord.py Rewrite Role Hierarchy CheckDiscord.py 重写角色层次结构检查
【发布时间】:2020-08-14 01:15:13
【问题描述】:

我在 discord.py rewrite 中编写了一个机器人。到目前为止,它只有 !kick、!ban 和 !unban 等基本选项。但是,当前设置为具有适当权限的任何人都可以对任何人执行此操作。这意味着具有“版主”级别的人可以禁止具有“管理员”级别的人,这是不允许的。如何添加一个简单的检查来查看该人的排名是否高于/低于他们试图踢/禁止的人?

【问题讨论】:

    标签: url-rewriting discord discord.py roles


    【解决方案1】:

    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
        ...
    

    【讨论】:

      猜你喜欢
      • 2020-03-17
      • 2010-11-19
      • 2021-08-22
      • 2012-06-16
      • 2020-10-09
      • 2017-12-27
      • 2011-11-03
      • 1970-01-01
      • 2019-08-06
      相关资源
      最近更新 更多