discord.py 冷却时间错误不允许引发其他错误
discord.py Cooldown error doesn't allow other errors to be raised
我有这段代码用于冷却时间并将错误发送给用户。这是我的代码:
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.CommandOnCooldown):
if error.retry_after>3600:
embed=discord.Embed(title='Cooldown!', description=f"This command can be used in **{round(error.retry_after/3600)}h** !".format(error.retry_after))
await ctx.send(embed=embed)
return
if error.retry_after>60:
embed=discord.Embed(title='Cooldown!', description=f"This command can be used in **{round(error.retry_after/60)}m**!".format(error.retry_after))
await ctx.send(embed=embed)
return
else:
embed=discord.Embed(title='Cooldown!', description=f"This command can be used in **{round(error.retry_after)}s**!".format(error.retry_after))
await ctx.send(embed=embed)
但是当我添加这个时,Visual Studio 代码中的终端不会出现其他错误,例如 MissingRequirements。有谁知道为什么或如何解决这个问题?
错误处理程序检查错误是否为 CommandOnCooldown 错误。如果不是,错误将被忽略。添加另一个 else 语句:
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.CommandOnCooldown):
if error.retry_after>3600:
....
else:
....
else:
Stuff the bot should do on a different error come here
我有这段代码用于冷却时间并将错误发送给用户。这是我的代码:
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.CommandOnCooldown):
if error.retry_after>3600:
embed=discord.Embed(title='Cooldown!', description=f"This command can be used in **{round(error.retry_after/3600)}h** !".format(error.retry_after))
await ctx.send(embed=embed)
return
if error.retry_after>60:
embed=discord.Embed(title='Cooldown!', description=f"This command can be used in **{round(error.retry_after/60)}m**!".format(error.retry_after))
await ctx.send(embed=embed)
return
else:
embed=discord.Embed(title='Cooldown!', description=f"This command can be used in **{round(error.retry_after)}s**!".format(error.retry_after))
await ctx.send(embed=embed)
但是当我添加这个时,Visual Studio 代码中的终端不会出现其他错误,例如 MissingRequirements。有谁知道为什么或如何解决这个问题?
错误处理程序检查错误是否为 CommandOnCooldown 错误。如果不是,错误将被忽略。添加另一个 else 语句:
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.CommandOnCooldown):
if error.retry_after>3600:
....
else:
....
else:
Stuff the bot should do on a different error come here