微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅允许管理员执行命令

如何解决如何仅允许管理员执行命令

有两种方法:通过使用的角色白名单has_any_role

@bot.command(pass_context=True)
@commands.has_any_role("Big Cheese", "Medium Cheese")
async def admins_only_command(ctx, *, args):
    '''do stuff'''

或经许可使用has_permissions

@bot.command(pass_context=True)
@commands.has_permissions(administrator=True)
async def admins_only_command(ctx, *, args):
    '''do stuff'''

这两个装饰器都是ChecksCommandError如果它们失败,将引发您的一些子类供您选择处理。

解决方法

我正在写以下命令

@bot.command(pass_context=True)
async def admins_only_command(ctx,*,args):
    '''do stuff

我怎样才能将此命令限制为仅管理员?我试着看,ctx.author.roles.role它说@everyone。我如何检查给定的用户是否是admin

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。