沃森对话 - 松弛机器人,文本格式化

watson conversation - slack bot, textformatting

我在格式化 slackbot 响应时遇到问题。 slactbot 通过 botkit (https://github.com/watson-developer-cloud/botkit-middleware) 与 watson 对话连接。非常感谢

我的最终目标是将 JSONArray 格式化为响应中的列表。但我找不到任何相关信息。我什至无法输出带有“\n”或“\\n”的换行符。在 Watson Dashboard 上,我会输出如下内容:

我注意到您购买了:$e_list.join('\n')

您需要在代码中设置此“\n”才能正常工作。喜欢:

response = "Lets see here...\n" + \
           "I've found these recipes: \n"

因此,在 Watson 内部,这里可能出现的一个微妙错误是使用单引号而不是双引号。这也具有将换行符呈现为 \n 的效果,然后,您需要使用 " 进行设置并在上下文变量中添加 \n,例如:

Here's a list I made just for you: <? $s_list.join('') ?>

在你的 JSON Advance 里面,看我的例子:

{
  "context": {
    "s_list": [
      "onion",
      "\n",
      "olives"
    ]
  },
  "output": {
    "text": {
      "values": [
        "Here's a list I made just for you: <? $s_list.join('') ?>"
      ],
      "selection_policy": "sequential"
    }
  }
}

Obs.: 最好的想法是使用代码来做这件事并且不会产生更多的工作。就像一位 IBM 开发人员在 slack 中使用 Watson 对话的示例。检查 here.

Obs II.: 我尝试在数组的每个值中添加 \n 并且 slack 中的输出看起来像:onion\nolives 并且不识别 \n,我不确定原因,但是,另一位 IBM 开发人员专家可能可以对此进行更多解释。但是,也许这是因为是一个数组而不是一个字符串,请查看此 slack question

图像内松弛: