Microsoft Bot Builder for .NET 中的按钮列表问题 - 频道:Facebook Messenger

Issue with List of buttons in Microsoft Bot Builder for .NET - Channel: Facebook Messenger

我正尝试在 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 中,最后一个按钮被添加为轮播,所有按钮文本都被截断。

请帮我解决这个问题。

根据 documentation,按钮标题有 20 个字符的限制。

此外,如果您有超过 3 个按钮,Facebook 将按照 Button template 期望的 1-3 个按钮拆分它们。

您需要将字符数限制为 20 个,因此您可能想使用 "Order pizza"[ 而不是 "I want to order pizza" =21=] 例如。添加更多按钮;您可能想探索 Quick Replies since the limit is 11 "buttons" (but you still have the 20 chars limit on the title). You can check this other post 以了解有关快速回复的更多信息。