【发布时间】:2020-06-26 13:40:24
【问题描述】:
我创建了一个我希望只有管理员可以访问的命令。如果用户有管理员,则运行特定代码。如果没有,我希望机器人发送一条消息,如“抱歉,你不能使用它”。有没有办法做到这一点?
【问题讨论】:
标签: discord discord.py discord.py-rewrite
我创建了一个我希望只有管理员可以访问的命令。如果用户有管理员,则运行特定代码。如果没有,我希望机器人发送一条消息,如“抱歉,你不能使用它”。有没有办法做到这一点?
【问题讨论】:
标签: discord discord.py discord.py-rewrite
@commands.command()
@commands.has_permissions(administrator=True)
async def command(self, ctx):
#code here
只会使命令command admin。
至于警告用户尝试运行他们没有权限的命令,您可以使用错误处理程序/命令特定的错误处理程序。
比如
@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() 并捕获如上所示的错误。
【讨论】: