如何将错误添加到特定命令 discord.py
Posted
技术标签:
【中文标题】如何将错误添加到特定命令 discord.py【英文标题】:How can I add an error to specific commands discord.py 【发布时间】:2021-03-11 23:40:31 【问题描述】:我希望每个命令都有错误,而不是使用无法具体说明的错误事件并对可能需要向用户提供额外帮助的命令进行故障排除。有什么方法可以将错误添加到命令中?
@client.command(aliases=['translate', 'translator'])
async def trans(ctx, lang=None, *, args=None):
t = Translator()
a = t.translate(args, dest=lang)
if lang == None:
await ctx.send(f'ctx.author.mention, please use a Valid destination language. You can view them with ``&languages``')
return
if args == None:
await ctx.send(f'ctx.author.mention, please provide a message in English to translate!``')
return
if isinstance(error, commands.CommandInvokeError):
embed = discord.Embed(title="API Error!", description=f"ctx.author.mention, google translate's API is bugged, this command could fix by sending it another time", color=0xE74C3C)
message = await ctx.message.channel.send(embed=embed, delete_after=20)
【问题讨论】:
不,你必须把它放在错误处理程序中 但是,如果你犯了错误,我该如何为每个命令制作错误消息呢? 检查我的答案 【参考方案1】:你不能那样做,你必须使用错误处理程序
@bot.command()
async def some_command_name(ctx):
# ...
@some_command_name.error # ← name of the command + .error
async def some_command_name_error(ctx, error):
# Handle all the errors for a command here
if isinstance(error, commands.CommandInvokeError):
await ctx.send("API error")
【讨论】:
以上是关于如何将错误添加到特定命令 discord.py的主要内容,如果未能解决你的问题,请参考以下文章
如何将用户添加到 svn subversion 中的特定分支(批处理脚本或 api)