Разные роли имеют разное время восстановления discord.py

#python #discord #discord.py #discord.py-rewrite

#python #Discord #discord.py #discord.py-переписать

Вопрос:

На данный момент у меня есть это:

 @client.command()
async def test(ctx):
    if ctx.message.author.has_role(803952153496256512):
        @commands.cooldown(3, 60, commands.BucketType.user)
    elif ctx.message.author.has_role(803952219694432326 ):
        @commands.cooldown(5, 60, commands.BucketType.user)
    elif ctx.message.author.has_role(803952282198212668 ):
        @commands.cooldown(7, 60, commands.BucketType.user)
    else:
        return
 

Я хочу, чтобы, если у пользователя есть определенная роль, время восстановления команды было бы другим

Ответ №1:

Я никогда не был лучшим в настройке времени восстановления, но в чем я могу вам помочь, так это в определении вашей роли. Чтобы определить, есть ли у участника роль, нам понадобится несколько вещей; объект участника и идентификатор роли. Кажется, что у вас есть все это в контексте вашей команды, поэтому нам следует написать некоторый код. Я бы просто изменил ваш код на что-то более похожее.

 @client.command()
async def test(ctx):
    if any([discord.utils.get(ctx.author.roles, id = 803952153496256512)]):
        pass
    elif any([discord.utils.get(ctx.author.roles, id = 803952219694432326)]):
        pass
    elif any([discord.utils.get(ctx.author.roles, id = 803952282198212668)]):
        pass