带有Facebook Messenger按钮的Microsoft Bot Framework消息
我正在使用C#Microsoft Bot Framework开发机器人,我想将带有操作按钮的消息发送到Facebook Messenger。 我已成功创建机器人,部署它并可以通过Messenger与它进行通信,现在我正在尝试改进机器人响应的外观。 我已经能够通过将卡信息放入Message.Attachements来创建单卡和轮播,但我还想包括操作按钮。 Messenger平台文档在其发送API参考中描述了按钮和“通用”模板,但对于我的生活,我无法弄清楚如何强制Bot连接器向Messenger发送按钮。 如果我可以将Send API json放入Message.ChannelData属性但没有运气,那就太棒了。 有没有人设法让Messenger显示Bot框架中的按钮?
要在邮件中添加按钮,您可以向附件添加多个操作。 每个操作都将按连接器映射到按钮。 多个附件将映射到Facebook Messenger中的轮播。 下面是向邮件添加3个按钮的示例。
var reply = context.MakeMessage(); reply.Attachments = new List(); var actions = new List(); for (int i = 0; i < 3; i++) { actions.Add(new Microsoft.Bot.Connector.Action { Title = $"Button:{i}", Message = $"Action:{i}" }); } reply.Attachments.Add(new Attachment { Title = "Choose one:", Actions = actions }); await context.PostAsync(reply);
更新版本3.9.0的解决方案:
var actions = new List(); for (int i = 0; i < 3; i++) { actions.Add(new CardAction { Title = $"Button:{i}", Text = $"Action:{i}" }); } reply.Attachments.Add( new HeroCard { Title = "Choose option", Buttons = actions }.ToAttachment() ); await context.PostAsync(reply);
- MS Bot框架与决策的对话
- C#BotFramework Prompt.Confirm显示太多尝试exception
- Messenger bot中出现PromptDialog错误
- 如何使用bot框架弹出root对话框?
- 如何在Bot Framework中取消/退出或退出PromptDialog.Choice?
- Bot Framework无法使用AddKeyboardCard或使用ChannelData发送FacebookQuickReply
- 团队通道1:1上的botframework集成了身份validationAAD
- 暂时存储特定用户的会话
- 如何使用Microsoft Bot Framework从我的Bot显示欢迎消息