Bot框架:处理不正确的用户输入

时间:2017-12-11 18:22:52

标签: node.js botframework

我已经建立了一个机器人,要求用户上传附件。但我也想让用户能够只键入任何文本而不是上传附件,但每当我这样做时它会说

  

我没有收到档案。请再试一次。

在命令行中,我可以看到no intent handler found for null。如何处理这些空值/错误输入?

示例代码:

intents.matchesAny([/lost and found/i], [
    function (session) {
        builder.Prompts.attachment(session,"Please upload a picture of the item.");  
     },

    function (session) {
        session.endConversation('Thank you');
    }
]);

1 个答案:

答案 0 :(得分:1)

根据您的问题no intent handler found for null,您似乎正在使用builder.IntentDialog,问题意味着您的机器人与机器人中提供的任何意图都不匹配。

此外,根据评论:

,我注意到您正在使用intents.matchesAny
  

Invokes a handler when any of the given intents are detected in the users utterance.所以我想你忘了在你的LUIS服务器中设置这样的意图lost and found

如果您想触发任何错过捕获的用户话语,您可以尝试使用:

intents.onDefault([
    function (session) {
        builder.Prompts.attachment(session,"Please upload a picture of the item.");  
     },

    function (session) {
        session.endConversation('Thank you');
    }
]);