首页 > 解决方案 > 在 Botframework 中向 Directline API 响应添加变量

问题描述

我已成功向Botframework Directline API请求,并获得了以下 json响应示例:

{
  "type": "message",
  "id": "XXXXXXXXXXXXXXXX|0000022",
  "timestamp": "2019-10-02T21:09:25.001296Z",
  "channelId": "directline",
  "from": {
    "id": "LuchoBotV1",
    "name": "LuchoBotV1"
  },
  "conversation": {
    "id": "XXXXXXXXXXXXXXXXX"
  },
  "text": "Hay algo mas en que pueda ayudarte?",
  "speak": "Hay algo mas en que pueda ayudarte?",
  "inputHint": "expectingInput",
  "replyToId": "XXXXXXXXXXXXXXXX|0000020"
}

现在我正在一个瀑布对话框中工作,该对话框询问用户一些个人信息(许可证、地址、销售),我想将此数据添加到响应中并获得如下 json 响应:

{
  "type": "message",
  "id": "XXXXXXXXXXXXXXXX|0000022",
  ...
  "context": {address: "Street 123", sales: "5000"}
}

我想知道是否可以将此信息合并到 API 响应中。我一直在搜索文档,但除了如何发送文本之外我没有找到任何东西。

await stepContext.context.sendActivity(messageText, null, InputHints.IgnoringInput);

标签: node.jsbotframeworkdirect-line-botframework

解决方案


您是否尝试过发送存储用户信息的变量?

假设你有:

var name = 'Anna';

您发送它而不是文本:

await stepContext.context.sendActivity(name);

预期输出为:

{
  "type": "message",
  "id": "XXXXXXXXXXXXXXXX|XXXXXX",
  ...
  "text": "Anna"
}

推荐阅读