【问题标题】:role specific command角色特定命令
【发布时间】:2018-11-03 10:48:41
【问题描述】:

角色特定的命令是的,它的工作终于得到了它。

from discord.ext import commands

bot = commands.Bot('?')

@bot.command(pass_context=True)
@commands.has_any_role("Admin", "Moderator")
async def hello(ctx):
    await bot.say("Hello {}".format(ctx.message.author.mention))

【问题讨论】:

    标签: python python-3.x discord discord.py


    【解决方案1】:

    您可以使用discord.ext.commands 扩展,它提供了has_any_role 装饰器。

    from discord.ext import commands
    
    bot = commands.Bot('?')
    
    @bot.command(pass_context=True)
    @commands.has_any_role("Admin", "Moderator")
    async def hello(ctx):
        await bot.say("Hello {}".format(ctx.message.author.mention))
    

    【讨论】:

    • 嗨,帕特里克,是的,您的代码有效。如果任何具有该 Admin 和 mod 角色的成员使用命令,它就可以工作。如果非管理员成员使用该命令,它不起作用,但是当非成员使用该命令时,我在 bash 中不断收到错误。如果非管理员成员使用该命令,是否可以添加一行,他们应该得到类似You are not a ADMIN
    • @Demotry 请参阅error handling上的文档部分
    • 是的,我检查了您的链接,但没有成功。所以请问上面的代码是否有可能得到返回消息。
    猜你喜欢
    • 2020-02-11
    • 1970-01-01
    • 2019-04-30
    • 2021-04-03
    • 2018-08-27
    • 2021-01-19
    • 1970-01-01
    • 2018-12-23
    • 2021-08-05
    相关资源
    最近更新 更多