目前,我正在开发一些聊天机器人,我想知道如何以超时等方式完成对话。
示例I:
if(callback.error){
data.output.text = "The server is offline now. Please try again later. Goodbye!";
return res.json(data); //send the message
exit(); //example (I did with sucess)
}
示例II:
if(userInputText == false && data.context.time === 120){
//time = seconds
data.output.text = "Are you still there?";
return res.json(data); //send the message
exit(); //example if user did not type anything
}
示例III:
//intent by user #goodBye
if(userSayGoodbye){
data.output.text = "Okay, goodbye!";
return res.json(data); //send the message
exit(); //EXAMPLE for exit the conversation if user say goodbye
}
在消息发送给用户后,对话将完成。
但我需要找到一些方法来确保用户是否输入任何内容。我希望在true
变量中使用布尔值false
或userInputText
保存。
基础:会话简单。
如何解决这个问题?
谢谢你。
答案 0 :(得分:1)
示例1你几乎得到了它。如果应用程序从对话服务中收到错误,您只需显示一些预先写好的文本。
对于超时,您的应用必须控制计时器。您可以将其作为上下文发送到对话并以这种方式响应,但我不确定您为什么要这样做?我想在你的应用程序中,你有一个计时器,如果没有响应,那么发送一个主动的消息"你还在那里吗?"或类似的东西,但我不知道你为什么要根据时间结束谈话。