我正在尝试在herocard中添加一个按钮列表。它在Bot Emulator中工作正常,但在Messenger Channel中不起作用。这是我的代码。
public static IList<Attachment> ToAttachmentList(this List<string> items)
{
var attachments = new List<Attachment>();
var actions = new List<CardAction>();
foreach (var item in items)
{
actions.Add(new CardAction(ActionTypes.ImBack, title: item, value: item));
}
var heroCard = new HeroCard
{
Buttons = actions
};
attachments.Add(heroCard.ToAttachment());
return attachments;
}
private async Task ShowOptions(IDialogContext context)
{
var reply = context.MakeMessage();
reply.Text = $"Here's what you can do.";
reply.AttachmentLayout = AttachmentLayoutTypes.List;
reply.Attachments = Messages.OrderingOptions.ToAttachmentList();
await context.PostAsync(reply);
}
在Messenger中,最后一个按钮被添加为Carousel,所有按钮文本都被截断。
请帮我解决这个问题。
答案 0 :(得分:2)
根据documentation,按钮标题的限制为20个字符。
此外,如果你有更多的3个按钮,Facebook会将它们拆分为Button template期望的1-3个按钮。
您需要将字符数限制为20,因此我不想&#34;我想订购披萨&#34; ,您可能想要使用&#34;订购披萨& #34; 例如。添加更多按钮;您可能想要探索Quick Replies,因为限制是11&#34;按钮&#34; (但你仍然对标题有20个字符限制)。您可以查看其他post以了解有关快速回复的详情。