【发布时间】:2016-08-30 13:56:13
【问题描述】:
Microsoft Bot Framework messages with buttons in Facebook Messenger
我的问题与上面链接的问题有关。我正在使用不使用 bot builder sdk 的 node.js 编写一个机器人。我手动返回 ms bot 连接器服务的兼容响应。这适用于文本响应,但我希望返回更复杂的响应,例如您可以使用信使返回的按钮/轮播。根据我上面链接的问题,我猜到了格式并添加了以下内容:
response.attachments = [ { "Title": "Choose One: ", "Actions": [{ "Title": "Postback!", "Message": "Postback from button" }, { "Title": "Postback2!", "Message": "Postback2 from button" }] } ];
顶级标题似乎什么都不做,只是将操作正确呈现为回发类型按钮(它们将消息作为回发内容发送)。使用 messenger,您还可以选择返回基于 url 的按钮和图像 url。
据我所知,使用 node bot builder sdk 返回附件的文档为零。如果有的话,我会用 sdk 编写机器人以获得响应格式。
所以我的问题是,有没有人知道如何正确地将回发和基于 url 的按钮返回到机器人连接器服务,包括附带的图像,有或没有机器人构建器 sdk?
2016 年 5 月 5 日更新
所以我找到了下面的链接,你可以看到附件属性的定义:
http://docs.botframework.com/sdkreference/nodejs/interfaces/_botbuilder_d_.imessage.html
如果您遵循 IAttachment 规范,我会想知道我上面的代码是如何/为什么工作的?作为对该格式的测试,我写了以下内容:
var att = {};
att.content = "I am content";
att.contentType = "text/plain";
att.contentUrl = "http://www.google.com";
att.fallbackText = "I am fallback text";
att.text = "I am text";
att.thumbnailUrl = "https://pbs.twimg.com/profile_images/638751551457103872/KN-NzuRl.png";
att.title ="I am title";
att.titleLink = "http://yahoo.com";
但是在 Messenger 我得到“服务错误:值不能为空。参数名称:来源”
【问题讨论】:
标签: node.js botframework facebook-messenger