【问题标题】:Microsoft Bot Framework attachments for Facebook messengerFacebook Messenger 的 Microsoft Bot Framework 附件
【发布时间】: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";

现在在 slack 中我得到了一个相当不错的输出:

但是在 Messenger 我得到“服务错误:值不能为空。参数名称:来源”

【问题讨论】:

    标签: node.js botframework facebook-messenger


    【解决方案1】:

    我找到了我需要的信息。不确定它当时是否尚未发布,或者我是否只是在寻找机器人构建器文档,但下面的内容都非常详细。

    http://docs.botframework.com/connector/message-actions/#navtitle

    对于某些集成,您必须稍微调整您的消息,例如 Skype 似乎并不真正支持附件。

    【讨论】:

    • 对于未来的读者,请注意此答案与机器人框架的 v1 相关。在这个版本中,机器人连接器和机器人构建器是独立的组件。答案中的链接现在重定向到与框架 v3 相关的更相关页面。
    猜你喜欢
    • 2019-06-04
    • 2016-08-28
    • 2016-08-08
    • 1970-01-01
    • 2017-03-30
    • 1970-01-01
    • 2023-03-21
    • 2017-05-26
    • 1970-01-01
    相关资源
    最近更新 更多