我一直在使用 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/