0

我很久以前创建了一个管理 cog,但我并没有限制管理员使用它。我试图为管理员限制它,但我只能将 cog 限制为一个角色。如何使 cog 仅限于具有管理员权限的人?

当前代码:

    async def cog_check(self, ctx):
        admin = get(ctx.guild.roles, name="Admin")
        return admin in ctx.author.roles
4

1 回答 1

0

如果您需要执行命令的人具有一定的权限,您可以使用discord.ext.commands.has_permissions() ,否则您还可以使用返回Permissions 对象并使用权限管理员的permissions_for()

它看起来像这样

async def cog_check(self, ctx):
    return ctx.channel.permissions_for(ctx.author).administrator

当且仅当成员具有权限管理员(在他的角色之一或在频道中指定他的权限)时,此协程才会返回 True

于 2021-02-18T10:29:18.100 回答