首页 文章

带有Facebook Messenger按钮的Microsoft Bot Framework消息

提问于
浏览
4

我喜欢向Facebook Messenger发送带有操作按钮的消息 . 我是_1267070的回复 . 我已经能够通过将卡信息放入Message.Attachements来创建单卡和轮播,但我还想包括操作按钮 . Messenger平台文档描述了Send API Reference中的按钮和"generic"模板,但对于我的生活,如果我可以将Send API json放入Message.ChannelData属性但没有运气,我可以很好 . 有没有人设法让Messenger显示Bot框架中的按钮?

2 回答

  • 1

    要在邮件中添加按钮,您可以向附件添加多个操作 . 每个操作都将按连接器映射到按钮 . 多个附件将映射到Facebook Messenger中的轮播 . 下面是向邮件添加3个按钮的示例 .

    var reply = context.MakeMessage();
                reply.Attachments = new List<Attachment>();
    
                var actions = new List<Microsoft.Bot.Connector.Action>();
                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);
    
  • 7

    更新版本3.9.0的解决方案:

    var actions = new List<CardAction>();
            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);
    

相关问题