如何获取在 discord.py 中引发错误的命令名称?
Posted
技术标签:
【中文标题】如何获取在 discord.py 中引发错误的命令名称?【英文标题】:How do I get the name of command that raised error in discord.py? 【发布时间】:2021-09-25 11:18:13 【问题描述】:我希望我的机器人生成某种命令日志,并且我希望它不仅发送“刚刚执行了某些命令”,而且还发送如果用户在尝试使用此命令时出现任何错误(缺少参数/权限和很快)。我想使用on_command_error()
来实现它,但我仍然需要知道哪个命令引发了错误。有什么办法吗?
【问题讨论】:
这样的事情对您有帮助吗? Example。你可以实现很多错误,看看error, commands.????
给你什么。如果您设置了侦听器/事件on_command_error
,机器人会在执行命令后告诉您输入是否有错误等。
【参考方案1】:
因为您从失败的命令中获取 ctx,如果您想要完整的命令对象,可以使用 ctx.invoked_with
或 ctx.command
访问命令名称。
...
@bot.event
async def on_command_error(ctx, error):
command = ctx.invoked_with
见:https://discordpy.readthedocs.io/en/stable/ext/commands/api.html?highlight=notfound#discord.ext.commands.Bot.on_command_error
https://discordpy.readthedocs.io/en/stable/ext/commands/api.html?highlight=context#discord.ext.commands.Context.command
【讨论】:
以上是关于如何获取在 discord.py 中引发错误的命令名称?的主要内容,如果未能解决你的问题,请参考以下文章
Discord.py - 嵌入缩略图参数 - 如何获取命令的用户头像