如何处理与实体值不匹配的值?

时间:2018-10-01 14:14:20

标签: dialogflow actions-on-google

嗨,我在对话框流程中创建了一个名为answers的实体,该实体包含了我的问答游戏中所有问题的答案。

我从数据库中获得了问题,然后检查给出的答案是否正确。

app.intent('answer-question', (conv, {answer})=> {

  if(answer == ((conv.data.answers)[0])){
//stuff}

else{
conv.close('you lose');
}

});

但是,此功能仅在用户正确回答答案后才起作用。如果用户未正确回答问题,则出现以下错误:

"Question Master isn't responding right now. Try again soon."
MalformedResponse
'final_response' must be set.

所以我的问题是,我该如何满足用户可能给出的错误答案的无限选择?

干杯!

1 个答案:

答案 0 :(得分:1)

您应该以后备方式处理此问题。新的Dialogflow代理随附默认设置:https://dialogflow.com/docs/intents/default-intents#default_fallback_intent

您还应该考虑使用上下文,这样后备意图就知道您正在期待答案,并在不希望答案时提供不同的响应。