Microsoft Bot Framework messages with buttons in Facebook Messenger
我的问题与上面提到的问题有关。我正在使用不使用bot builder sdk的node.js编写机器人。我手动返回ms bot连接器服务的兼容响应。这对于文本响应工作正常,但我希望返回更复杂的响应,例如可以使用messenger返回的按钮/轮播。基于我上面提到的问题,我猜测了格式并添加了以下内容:
response.attachments = [ { "Title": "Choose One: ", "Actions": [{ "Title": "Postback!", "Message": "Postback from button" }, { "Title": "Postback2!", "Message": "Postback2 from button" }] } ];
顶级标题似乎什么都不做,但操作正确呈现为回发类型按钮(它们将消息作为回发内容发送)。使用messenger,您还可以选择返回基于URL的按钮和图像URL。
据我所知,使用节点机器人构建器sdk返回附件没有文档。如果我只是用sdk写机器人以获得响应格式。
所以我的问题是,是否有人知道如何正确地将回发和基于url的按钮返回到bot连接器服务,包括附带的图像,有或没有bot builder 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中我得到了"服务错误:值不能为空。参数名称:source"
答案 0 :(得分:3)
我找到了我需要的信息。不确定它当时是否尚未发布,或者我是否只是在机器人构建器文档中进行搜索,但是下面的内容都非常详细。
http://docs.botframework.com/connector/message-actions/#navtitle
对于某些集成,您必须稍微调整一下您的消息,例如Skype似乎并不支持附件。