2017-09-19 28 views
-1

我正在製作一個不和諧的機器人,我想知道如何讓某人需要使用命令所需的角色。如何讓某人需要角色來使用命令?

@bot.command(pass_context = True) 
@commands.cooldown(1, 30, commands.BucketType.user) 
async def test(ctx): 
if commands.has_role("| Premium |"): 
    msg = ["test", "test2"] 
    await bot.send_message(ctx.message.author,            
    random.choice(msg)) 

請告訴我正確的方法,因爲如果這樣做commands.has_role(「|高級|」):是不正確的

+0

呃......這個確切的問題沒有被標記爲今天早上過於寬泛?在關閉時刪除並重新發布您的問題只會將您的帳戶標記爲垃圾郵件發送者並阻止提問。 – squaswin

+0

@squaswin我標記了我自己的帖子lmao –

+0

@squaswin,我改變了它,並添加了示例程序...所以它沒有那麼廣泛 –

回答

1

要根據用戶的角色的名稱添加一個檢查,使用裝飾者commands.has_role()commands.has_any_role()

@bot.command() 
@commands.has_any_role("Premium") 
async def test(): 
    pass 
+0

在創建我希望他們能夠做的事情之後,如何添加錯誤消息if他們有燙髮 –

+0

你的作品完美,但我需要知道如何爲它製作錯誤消息@squaswin –

+0

我不是一個外部用戶,但它看起來像你可以爲[on_command_error]創建一個事件(https:// github .com/Rapptz/discord.py/blob/async/discord/ext/commands/bot.py#L286)並檢查[CheckFailure]的實例(https://github.com/Rapptz/discord.py/blob/ async/discord/ext/commands/errors.py#L92) – squaswin