首页 > 解决方案 > 如何让我的机器人检查作者是否有管理员,如果没有,则发送消息?

问题描述

我做了一个命令,我希望只有管理员可以访问。如果用户有管理员,则运行特定代码。如果没有,我希望机器人发送一条消息,如“抱歉,你不能使用它”。有没有办法做到这一点?

标签: discorddiscord.pydiscord.py-rewrite

解决方案


    @commands.command()
    @commands.has_permissions(administrator=True)
    async def command(self, ctx):
          #code here

只会使命令command管理员。至于警告用户尝试运行他们没有权限的命令,您可以使用错误处理程序/命令特定的错误处理程序。如

    @commands.Cog.listener()
    async def on_command_error(self, ctx, error):
        if isinstance(error, commands.errors.MissingPermissions):
            msg.title = "Missing Permission ⛔"
            msg.description = error.args[0]
            return await ctx.send(embed=msg)

对于 cog 特定错误,使用 commandname.error() 并捕获如上所示的错误。


推荐阅读