我有一个不和谐的机器人,我正在尝试创建一个不同的文件,其中我只有可以处理不同类型错误的函数..
文件中的示例 errorHandling.py
async def on_error(ctx, error):
if isinstance(error, commands.MissingRequiredArgument):
await ctx.send("heh")
return
在我的 main.py 中我只是
from errorHandler import *
对吗?
然后
@Client.event
async def onerr():
await on_error()
机器人正在运行,但是当我输入一个没有其必需参数的命令时,除了它给我带来了那个长而烦人的错误之外,什么也没有发生。 我做错了什么,或者我忘记了什么?
答案 0 :(得分:0)
对于因命令引发的错误,您必须使用 on_command_error
。在 API 参考中,它说:
discord.on_command_error(ctx,错误)
一个错误处理程序,当由于用户输入错误、检查失败或您自己的代码中的错误而在命令内引发错误时调用。
此外,没有名为 onerr
的事件,您只能覆盖现有的事件。
@client.event
async def on_command_error(ctx, error):
if isinstance(error, commands.MissingRequiredArgument):
await ctx.send("heh")
return
这就是您在 main.py
文件中要做的所有事情。