node.js - 如何在 Facebook Messenger 上使用 MS Bot Framework 创建快速回复?

标签 node.js facebook botframework facebook-messenger

我一直在使用 Node.js 和 MS Bot Framework (3.0) 满足我相当长一段时间的机器人开发需求。

我的需求之一是请求用户与机器人共享其电子邮件地址。
Facebook 提供 Quick Replies API 正是为此而设计的。

我很难理解应该如何利用该框架来创建带有快速回复选项的自定义消息。

我的第一次尝试之一是使用 custom channel data 将 native 元数据传递到 channel
我已经成功实现了各种 templates Messenger 平台支持,但是quick replies与按钮、列表和其他模板相比,它们有点像其他野兽。目前我正在努力创建一个 quick reply message使用框架提供的工具。

请为我指明正确的方向。

最佳答案

您可以通过 BotFramework V3 中的源数据或框架 V4 中的 channel 数据发送 Facebook 快速回复。请参阅下面的两个示例:

Node

V4

await turnContext.sendActivity({
    text: 'What is your email?',
    channelData: {
        "quick_replies":[
            {
                "content_type": "user_email"
            }
        ]
    }
});

V3

var message = new botbuilder.Message(session)
   .text('What is your email?')
   .sourceEvent({
      facebook: {
         "quick_replies":[
            {
               "content_type": "user_email"
            }
         ]
      }
   });

session.send(message);

CSharp

V4

Activity reply = turnContext.Activity.CreateReply();
reply.Text = "What is your location?";
reply.ChannelData = JObject.FromObject( new {
    quick_replies = new object[]
    {
        new
        {
            content_type = "location",
        },
    },
});

await turnContext.SendActivityAsync(reply, cancellationToken);

希望这有帮助!

关于node.js - 如何在 Facebook Messenger 上使用 MS Bot Framework 创建快速回复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54675933/

相关文章:

node.js - 适用于 Facebook Messenger 的 Microsoft Bot Framework 附件

javascript - 如何使用 node.js 结合基于 id(transectionid) 的两个集合?

javascript - Electron中的可固定标签

css - 修复屏幕中央 iframe 内的元素

azure - 如何针对特定 LUIS 意图开始对话?

Facebook 机器人消息不显示空行

javascript - NPM安装全局困惑

node.js - 无法安装 jhipster-generator

database - Facebook 更快还是本地数据库?

ruby - 在 Heroku 上增加 dyno 数量后的错误