获取 Messenger 中建议按钮的值

Get value of a suggest button in messenger

我 运行 解决了 Facebook Messenger 中建议按钮的一些问题。当我得到用户的响应时,我得到了 Title 字段,并且该值丢失了。这在机器人模拟器中运行良好,但在 Facebook Messenger 中却不行。下面是创建按钮的代码:

        var reply = context.MakeMessage();
        reply.Text = "What can i do for you?";
        var suggests = new SuggestedActions();
        var actions = new List<CardAction>();
        foreach (var button in utter.Buttons)
        {
            actions.Add(new CardAction
            {
                Title = button.Text,
                Type = ActionTypes.ImBack,
                Value = button.Payload,
                Text = button.Payload,
                DisplayText = button.Text                    
            });
        }

        suggests.Actions = actions;
        reply.SuggestedActions = suggests;
        return reply;

当用户按下按钮时,我希望负载返回 msbf,但我只得到按钮标题。任何人都可以阐明这里发生的事情吗?

版本

我正在使用 Bot Builder 版本 3.12.2.4

这似乎是 BotBuider SDK 中的错误。 添加

activity.Text = activity.GetChannelData<dynamic>()?.message?.quick_reply?.payload ?? activity.Text;

在 MessagesController.cs 中解决了这个问题。

此问题在 github 上的解决方案:https://github.com/Microsoft/BotBuilder/issues/3555