聊天机器人Watson会话服务的超时

时间:2017-04-24 19:25:27

标签: javascript node.js ibm-watson watson-conversation

目前,我正在开发一些聊天机器人,我想知道如何以超时等方式完成对话。

示例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变量中使用布尔值falseuserInputText保存。

基础:会话简单。

如何解决这个问题?

谢谢你。

1 个答案:

答案 0 :(得分:1)

示例1你几乎得到了它。如果应用程序从对话服务中收到错误,您只需显示一些预先写好的文本。

对于超时,您的应用必须控制计时器。您可以将其作为上下文发送到对话并以这种方式响应,但我不确定您为什么要这样做?我想在你的应用程序中,你有一个计时器,如果没有响应,那么发送一个主动的消息"你还在那里吗?"或类似的东西,但我不知道你为什么要根据时间结束谈话。