【问题标题】:Check if user has Admin -- Discord.py检查用户是否有管理员——Discord.py
【发布时间】:2021-02-24 07:19:56
【问题描述】:

我想做一个命令,要求用户有管理员权限才能执行命令。

例如,当用户第一次在服务器上邀请机器人时,成员必须不能使用所谓的“权限”命令。但是,具有主持人角色的成员应该有权访问它并执行命令的其余部分。

有人能在我的指挥下帮助解决这个问题吗?

【问题讨论】:

  • 您能否进一步解释一下。很难准确理解您的意思
  • 例如您邀请了任何机器人。如果您是会员,则不能使用“权限”命令来更改命令权限。但是服务器管理员可以使用它。流行的机器人如何获得服务器管理员角色?
  • 您是否要创建一个没有特定权限的成员无法使用的命令?
  • 是的,我想要它。
  • 你在使用discord.ext.commands.Bot吗?

标签: python discord.py


【解决方案1】:

目前还不清楚你想保留什么你想命令谁可用但是,has_permissions 装饰器允许你设置用户可以用来访问命令的权限。这个可以在参数里面设置

例如,如果您只希望具有管理员权限的成员可以访问您的命令,您可以在命令修饰符后添加@commands.has_permissions(administrator = True)。这是一个例子,

@bot.command()
@commands.has_permissions(administrator = True)
async def permission(ctx):
    await ctx.send('You have administrator access...')

更多信息可以在 Discord 的文档中找到: https://discordpy.readthedocs.io/en/latest/ext/commands/api.html

编辑:

但是,在命令中使用if 语句可以通过以下方式完成:

if ctx.author.guild_permissions.administrator:
...

【讨论】:

    猜你喜欢
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 2011-02-26
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 2011-04-05
    相关资源
    最近更新 更多