如何使我的机器人检查作者是否有管理员,如果没有管理员,则发送消息?

时间:2020-06-26 04:19:34

标签: discord discord.py discord.py-rewrite

我已经做出了一个仅希望管理员可以访问的命令。如果用户具有管理员权限,则会运行特定的代码。如果没有,我希望该机器人发送类似“对不起,您不能使用”的消息。有办法吗?

1 个答案:

答案 0 :(得分:2)

    @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)

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