Javascript 如何将星期天排除在沃森谈话之外

Javascript 如何将星期天排除在沃森谈话之外,javascript,node.js,ibm-watson,watson-conversation,Javascript,Node.js,Ibm Watson,Watson Conversation,我是编程和沃森对话方面的新手,我正在尝试做一个聊天机器人,安排从周一到周六的约会。我使用了@sys date实体,它工作得很好,但我不知道如何排除星期天。例如: 沃森:什么时候对你最合适? 用户:星期日 沃森:在这一天,公司关门了 我在工作区中尝试了:(条件)if:action=='sunday'如下: 在nodejs中这样编码 // Send the input to the conversation service conversation.message(payload, fun

我是编程和沃森对话方面的新手,我正在尝试做一个聊天机器人,安排从周一到周六的约会。我使用了@sys date实体,它工作得很好,但我不知道如何排除星期天。例如:

沃森:什么时候对你最合适?
用户:星期日
沃森:在这一天,公司关门了

我在工作区中尝试了:(条件)if:action=='sunday'如下:

在nodejs中这样编码

    // Send the input to the conversation service

conversation.message(payload, function (err, data) {
  if (err) {
    return res.status(err.code || 500).json(err)
  }else if(data.output.action==='sunday'){
    var date = new Date();
  if(!(date.getDay() % 6)){
    return res.json(payload,data.output.text["On this day the establishment is closed"]);
  }}else{
  return res.json(updateMessage(payload, data));
}});});

它仍然给我周日的日期(例如2017年4月23日)。我知道一切都错了,但我真的尽力了。。谁能帮帮我吗?如果你能帮我写下代码,我将不胜感激。

在这种情况下,是的。。。您可以使用参数
data
与Watson和用户发送消息。而且,您不能从系统实体中排除“星期天”。此实体仅用于在特殊情况下帮助我们

在您的情况下,请使用:

data.output.text[0] = "On this day the establishment is closed";
因为
data.output.text
向对话发送沃森消息

但是,一个好的聊天机器人的最佳实践是创建
意图
实体
,为您的聊天机器人传递智能,并在聊天机器人中保留尽可能多的智能。而你的应用程序只会检查

例如,创建一个实体@days,其值为Sunday、monday等

  • 创建一个
    intent
    ,并举例说明如何询问“安排约会”
  • 创建一个
    实体
    @days
    ,值为Sunday、monday等
  • 在对话框中创建一个具有意图和实体条件的流(#bestDay和@days)
在高级JSON中,添加一个具有day值的上下文变量,如下所示:

  {
  "context": {
    "day": "<? @days ?>"
  },
  "output": {
    "text": {
      "values": [
        "Sorry. On $day the establishment is closed"
      ],
      "selection_policy": "sequential"
    }
  }
}
{
“背景”:{
“日期”:”
},
“产出”:{
“文本”:{
“价值观”:[
“对不起,在$day,该机构已关闭”
],
“选择策略”:“顺序”
}
}
}
检查流程:

  {
  "context": {
    "day": "<? @days ?>"
  },
  "output": {
    "text": {
      "values": [
        "Sorry. On $day the establishment is closed"
      ],
      "selection_policy": "sequential"
    }
  }
}

检查流程是否正常工作:

  {
  "context": {
    "day": "<? @days ?>"
  },
  "output": {
    "text": {
      "values": [
        "Sorry. On $day the establishment is closed"
      ],
      "selection_policy": "sequential"
    }
  }
}

如果不是周日:

  {
  "context": {
    "day": "<? @days ?>"
  },
  "output": {
    "text": {
      "values": [
        "Sorry. On $day the establishment is closed"
      ],
      "selection_policy": "sequential"
    }
  }
}


下载工作区以提供更多帮助。

请提供一个而不是代码的图片。阅读关于如何发布代码的常见问题解答。我注意到一件事:
(有效负载,data.output.text[“Sunday”])
正在使用逗号运算符,在本例中,其结果与
data.output.text[“Sunday”]
相同。那么,你想在这里做什么?@trincot我试图说:如果用户在聊天中输入sunday,data.output.text会在有效负载中响应“在这一天,机构关闭”。。让我更正代码。tks!我不知道API,但是
data.output.text[“这天工厂关闭”]
看起来有问题。您可能需要
data.output.text=“在这一天该机构关闭”
作为单独的语句,然后执行
res.json(updateMessage(payload,data))