Как заставить бота отвечать при вводе в кулдауне (discord.py )?

#python #python-3.x #discord #discord.py

#python #python-3.x #Discord #discord.py

Вопрос:

Это мой текущий код; он работает, но бот не отправляет сообщение:

 @bot.on_error
async def beg_error(ctx, error):
    if isinstance(error, commands.CommandOnCooldown):
        await ctx.send('This command is ratelimited, please try again in {:.2f}s'.format(error.retry_after))
    else:
        raise error

@bot.command(pass_context=True)
@commands.cooldown(1, 5, commands.BucketType.user)
async def beg(ctx):
    await ctx.send("test 123")
  

Любая помощь будет высоко оценена!

Ответ №1:

Декоратор для конкретного обработчика ошибок команды @command_name.error не @bot.on_error

Ниже приведен пересмотренный код:

 @bot.command(pass_context=True)
@commands.cooldown(1, 5, commands.BucketType.user)
async def beg(ctx):
    await ctx.send("test 123")

@beg.error
async def beg_error(ctx, error):
    if isinstance(error, commands.CommandOnCooldown):
        await ctx.send('This command is ratelimited, please try again in {:.2f}s'.format(error.retry_after))
    else:
        raise error