在输入冷却时间(discord.py)时如何使机器人响应?

时间:2020-10-06 06:01:34

标签: 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 个答案:

答案 0 :(得分:0)

特定命令错误处理程序的修饰符是@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