如果用户键入 /foo
并且该命令不存在,我如何发送消息说该命令不存在"?
If user types /foo
and that command does not exist, how do I send the message saying "This command does not exist"?
这可能很简单,但我有点困惑.
This is maybe pretty simple but I'm bit confused.
如果您需要更多信息,请发表评论.
If you need more info please comment.
谢谢!
你可以定义一个 on_command_error
事件(请注意,与记录的重写分支相比,异步分支上的参数顺序相反)如果出现 CommandError
,将被调用.
You can define an on_command_error
event (Note that the order of arguments is reversed on the async branch, compared to the documented rewrite branch) that will be called if there if a CommandError
is raised.
然后您可以签入 错误处理程序 如果错误是 CommandNotFound
错误并相应处理:
You can then check in that error handler if the error is a CommandNotFound
error and handle it accordingly:
@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
扩展来编写命令(您应该这样做).
This assumes you are using the discord.ext.commands
extension to write your commands (which you should).
这篇关于如何响应 discord.py 中的错误用户命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!