Slack-App-Watson:Watson从之前收到的消息中泄露意图

我正在写一个简单的Slack机器人,它可以查找给定位置的天气状况。

在沃森对话框中,沃森做得很好:

  • 我:天气请
  • 沃森(检测到#weather_asked):你想知道天气状况?
  • 我:巴黎
  • Watson(检测到@location for intent #weather_asked):查找巴黎的天气状况…

但在我的node.js应用程序(连接到Slack),似乎沃森是“ 不记住,我提供了#weather_asked意图的位置 ”:

  • 我:天气请
  • Watson(检测到#weather_asked):哪里?
  • 我:巴黎
  • 沃森(只检测@位置和意图#location_given):我很抱歉,我不明白。 (fallback anything_else)

这就像Watson,当通过我的NodeJS应用程序使用时,忘记了最初的意图#weather_asked,并重置为其主要的对话框。 我错过了什么?

我的Watson对话对话框configuration的屏幕截图: http : //imgur.com/a/vKo8P

编辑:我发现我的应用程序发送用户的input到Watson与一个新的对话ID。 如果它已经存在,我会尝试设置这个上下文。

我find了解决scheme! 问题是我没有告诉沃森我的用户已经开始与他(他?)的谈话。

我做了一段简单的代码,存储由Slack的user_id分组的现有上下文。 如果此user_id已经存在上下文,则我的应用程序将调用Watson API并将此上下文附加到该请求,所以Watson知道这个新用户的input遵循前一个。