在 Botframework 中向 Directline API 响应添加变量
Adding Variables to Directline API response in Botframework
我已成功请求 Botframework Directline API 并且我得到了 json response[=24= 的示例]:
{
"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"
}
现在我在 waterfall dialog 中工作,它向用户询问一些个人信息(许可证、地址、销售),我想将这些数据添加到响应中,并且得到这样的 json 响应:
{
"type": "message",
"id": "XXXXXXXXXXXXXXXX|0000022",
...
"context": {address: "Street 123", sales: "5000"}
}
我想知道是否可以将此信息合并到 API 响应。我一直在文档中搜索,但除了如何发送文本外,我没有找到任何东西。
await stepContext.context.sendActivity(messageText, null, InputHints.IgnoringInput);
您是否尝试过发送存储用户信息的变量?
假设你有:
var name = 'Anna';
您发送它而不是文本:
await stepContext.context.sendActivity(name);
预期输出为:
{
"type": "message",
"id": "XXXXXXXXXXXXXXXX|XXXXXX",
...
"text": "Anna"
}
您可以将上下文添加到 activity 的频道数据。
BotFramework SDK v4(节点)
await stepContext.context.sendActivity({
text: 'Hello, World!',
channelData: {
context: {address: 'Street 123', sales: '5000'}
}
});
预期结果
{
"type": "message",
"id": "XXXXXXXXXXXXXXXX|XXXXXX",
...
"text": "Hello, World!",
"channelData": {
"context": {"address": "Street 123", "sales": "5000"}
}
}
希望对您有所帮助!
我已成功请求 Botframework Directline API 并且我得到了 json response[=24= 的示例]:
{
"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"
}
现在我在 waterfall dialog 中工作,它向用户询问一些个人信息(许可证、地址、销售),我想将这些数据添加到响应中,并且得到这样的 json 响应:
{
"type": "message",
"id": "XXXXXXXXXXXXXXXX|0000022",
...
"context": {address: "Street 123", sales: "5000"}
}
我想知道是否可以将此信息合并到 API 响应。我一直在文档中搜索,但除了如何发送文本外,我没有找到任何东西。
await stepContext.context.sendActivity(messageText, null, InputHints.IgnoringInput);
您是否尝试过发送存储用户信息的变量?
假设你有:
var name = 'Anna';
您发送它而不是文本:
await stepContext.context.sendActivity(name);
预期输出为:
{
"type": "message",
"id": "XXXXXXXXXXXXXXXX|XXXXXX",
...
"text": "Anna"
}
您可以将上下文添加到 activity 的频道数据。
BotFramework SDK v4(节点)
await stepContext.context.sendActivity({
text: 'Hello, World!',
channelData: {
context: {address: 'Street 123', sales: '5000'}
}
});
预期结果
{
"type": "message",
"id": "XXXXXXXXXXXXXXXX|XXXXXX",
...
"text": "Hello, World!",
"channelData": {
"context": {"address": "Street 123", "sales": "5000"}
}
}
希望对您有所帮助!