【问题标题】:watson conversation - slack bot, textformatting沃森对话 - 松弛机器人,文本格式化
【发布时间】:2017-07-25 01:39:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: node.js slack watson-conversation watson botkit


    【解决方案1】:

    您需要在代码中设置此“\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

    slack 内的图片:

    【讨论】:

    • 双引号在 watson 中实际上不起作用 我有这样的东西:“这是我为你制作的列表:$s_list.join("\n")?>” 但它是给出错误
    猜你喜欢
    • 2017-02-23
    • 2018-03-19
    • 2018-11-18
    • 2017-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多