C# 获取messenger中建议按钮的值
我在Facebook messenger中遇到了一些关于建议按钮的问题。当我从用户那里得到响应时,我将返回Title字段,并且该值将丢失。这在机器人模拟器中可以正常工作,但在Facebook messenger中则不行。以下是创建按钮的代码:C# 获取messenger中建议按钮的值,c#,botframework,facebook-messenger,C#,Botframework,Facebook Messenger,我在Facebook messenger中遇到了一些关于建议按钮的问题。当我从用户那里得到响应时,我将返回Title字段,并且该值将丢失。这在机器人模拟器中可以正常工作,但在Facebook messenger中则不行。以下是创建按钮的代码: var reply = context.MakeMessage(); reply.Text = "What can i do for you?"; var suggests = new SuggestedAc
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;
var reply=context.MakeMessage();
reply.Text=“我能为您做些什么?”;
var建议=新建议的行动();
var actions=新列表();
foreach(绝对按钮中的var按钮)
{
操作。添加(新卡片操作
{
Title=按钮文本,
Type=ActionTypes.ImBack,
值=按钮有效载荷,
Text=按钮。有效载荷,
DisplayText=按钮。文本
});
}
建议:行动=行动;
reply.SuggestedActions=建议;
回复;
当用户按下按钮时,我希望有效负载返回到msbf,但我只得到按钮标题。谁能告诉我这里发生了什么事吗
版本
我正在使用BotBuider SDK的版本
3.12.2.4
这似乎是BotBuider SDK中的一个bug。
添加
activity.Text=activity.GetChannelData()?.message?.quick_reply?.payload??活动.文本;
在messages controller.cs中解决此问题
github上此问题的解决方案:您使用的是哪个版本的BotBuilder sdk?@EricDahlvang I使用BotBuilder版本更新了答案。请升级到最新版本version@EricDahlvang是的,问题仍然存在。我找到了一个解决方法,请参见下面的答案。
activity.Text = activity.GetChannelData<dynamic>()?.message?.quick_reply?.payload ?? activity.Text;