Как сделать кулдаун для слеш команды?

Рейтинг: 0Ответов: 1Опубликовано: 02.06.2023

Вот у меня есть кусок кода:

@bot.slash_command(description='Работа')
@commands.cooldown(1, 60, commands.BucketType)
async def test(ctx):
    await ctx.send("test")

Как сделать ответ? Например. Не удалось использовать команду, попробуйте через 60 секунд! (или сколько там осталось)

Ответы

▲ 0Принят

Вот так:

@bot.slash_command(description='Работа')
@commands.cooldown(1, 60, commands.BucketType)
async def test(ctx):
    try:
        await ctx.send("test")
    except commands.CommandOnCooldown as e:
        remaining_time = round(e.retry_after)
        await ctx.send(f"Не удалось использовать команду, попробуйте через {remaining_time} секунд(ы)!")