应用程序崩溃,出现错误:找不到intent:Default Welcome intent at Function的Dia



我正在使用dialolow构建一个开放式问答。我在我的webhook中使用node-js。我希望在应用程序提出最后一个问题后立即停止提问。为了得到,我正在使用数组的长度属性:

var length=问题长度;

但一旦执行了这一行,错误显示为:

错误:找不到intent:Default Welcome intent at Function的Dialogflow IntentHandler。

但是,我没有在webhook中使用此默认欢迎意图。此意图的响应设置在默认响应部分中。一旦我删除了长度行,代码就不会给出任何错误。

你能帮我解决这个错误吗?或者就如何获得数组的长度给出其他想法吗?

这是我正在使用的代码:

app.intent('First', (conv) => {
const ans = conv.parameters.any;
if(type[0] === 'RATING'){
if(ans == 1){
senddata[0] = qstion[0] + ans;
conv.ask(qstion[1]);
}
else if(ans == 2){
senddata[0] = qstion[0] + ans;
conv.ask(qstion[1]);
}
else if(ans == 3){
senddata[0] = qstion[0] + ans;
conv.ask(qstion[1]);
}
else if(ans == 4){
senddata[0] = qstion[0] + ans;
var length = qstion.length;
conv.add(length);
conv.ask(qstion[1]);
}
else if(ans == 5){
senddata[0] = qstion[0] + ans;
conv.ask(qstion[1]);
}
else if(ans === 'can you help me' || ans === 'help' || ans === 'help me'){
checkhelp_logout = "help";
flag_log_help = 2;
conv.ask('Would you like some help?');
}
else if(ans === 'logout'){
checkhelp_logout = "logout";
flag_log_help = 2;
conv.ask('Did you say logout?');
}
else if(ans === 'sign out'){
checkhelp_logout = "logout";
flag_log_help = 2;
conv.ask('Did you say sign out?');
}
else if(ans === 'exit'){
checkhelp_logout = "logout";
flag_log_help = 2;
conv.ask('Did you say exit?');
}
else{
conv.add('Please enter a valid number');
conv.ask(qstion[0]);
}
}
else{
senddata[0] = qstion[0] + ans;
conv.ask(qstion[1]);
}
});

您可以在if条件中看到长度属性,其中ans==4。这是错误:错误:找不到intent:Default Welcome intent at Function的Dialogflow IntentHandler。

嘿,我认为您正试图以一个First的意图来处理所有响应。

我只想在这里提到,保留默认回退欢迎意向处理程序总是更好和良好的做法。有时,它有助于理解为什么它会进入响应文本的处理程序?

然后你可以手动训练你的反应和地图。

尝试在代码中添加默认处理程序,看看在这种情况下会发生什么。

这可能会有所帮助!

最新更新