Discord.py:你能验证在CheckFailure错误中哪个命令检查失败吗



我想知道在抛出CheckError时是否可以验证哪个检查失败?我已经查看了文档,看不出有任何方法可以检索这些信息。当我的机器人程序中出现CheckError时,错误过于普遍,并显示The check functions for command X failed.

我想验证哪个检查失败了,这样我就可以根据不同的检查失败向用户发送特定的消息。

虽然不是最优雅的解决方案,但如果您有自定义检查,如果检查失败,您可以手动抛出CheckError。这里有一个例子:

def is_user_currently_using_command(ongoing_member_commands):
async def predicate(ctx):
if ctx.author.id in ongoing_member_commands:
raise commands.CheckFailure("Member has already started a receipt upload.")

return True

return commands.check(predicate)

然后,在处理CheckErrors时,您可以检查该特定文本的错误参数。这不太好,但确实有效。

最新更新