Watson Conversation 如何在特定日期到来时提醒用户 Service.or JSON

How to remind user when the specific date comes in Watson Conversation Service.or JSON

所以我正在尝试制作一个提醒聊天机器人,但我编写的代码并没有像我预期的那样工作。

我做的是,比如我在一天后发送提醒,响应条件是这样的:

"conditions": now().reformatDateTime().toInt()+1

然后像往常一样输出文本值。

这有效吗?任何类型的建议都将非常受欢迎。谢谢!

你的用户需要在你做某事之前打电话给你得到的那一天。 激活您的系统实体:@sys-date 获取天数。

并且,例如,用户会问:

  • 我今天需要做什么?

使用一个上下文变量来节省时间,例如:

{
  "context": {
    "verifiedDate": <? @sys-date ?>;
  },
  "output": {
    "text": {
      "values": [
        "Please wait and I'll verified your request."
      ],
      "selection_policy": "sequential"
    }
  }
}

而且,只有当用户要求时,您才会在应用程序中做一些事情来记住用户。

喜欢:

示例 (app.js):

function updateMessage(input, data, req, res) {
  if (data.context.verifiedDate){
    searchRequest(data, req, res);
    } else if (data.output && data.output.text) {
      return res.json(data);
    }
    return data;
}

您可以使用数据在对话流中发送内容。

function searchRequest(data, req, res){
    // something to do and return value
    var sendRequest = "Thanks for wait, the request is" + valueRequest;
    data.output.text[0] = sendRequest;
    return data;
}

此示例使用 Nodejs,数据全部来自 Watson Conversation return,例如 entitiesintentscontext variablesnode flows 等。逻辑是一样的,您需要访问 return 从您的对话中编辑的数据,然后访问 context variables 在您的应用程序中执行某些操作。

添加天数:

Date.prototype.addDays = function(days) {
  var dat = new Date(this.valueOf());
  dat.setDate(dat.getDate() + days);
  return dat;
}

var dat = new Date();

alert(dat.addDays(5))

您可以使用 days 参数或一个数字来添加天数,就像我的示例一样。