如何在discord.py中响应错误的用户命令

时间:2018-08-31 19:36:50

标签: python discord.py

如果用户键入/foo并且该命令不存在,如何发送消息“此命令不存在”?

这也许很简单,但我有点困惑。

如果您需要更多信息,请发表评论。

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以定义一个on_command_error事件(请注意,与记录的重写分支相比,异步分支上的参数顺序相反),如果引发CommandError则将被调用。

然后您可以检查该error handler是否为CommandNotFound错误,并相应地进行处理:

@bot.event
async def on_command_error(error, ctx):
    if isinstance(error, commands.CommandNotFound):
        await bot.send_message(ctx.message.channel, "No such command")
    else:
        raise error

这假设您正在使用discord.ext.commands扩展名来编写命令(应该这样做)。