我已经做出了一个仅希望管理员可以访问的命令。如果用户具有管理员权限,则会运行特定的代码。如果没有,我希望该机器人发送类似“对不起,您不能使用”的消息。有办法吗?
答案 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()并捕获如上所示的错误。