Поддерживает ли Botbuilder шаблон кнопки Facebook Messenger? - PullRequest
2 голосов
/ 22 января 2020

После прочтения этого вопроса, который сейчас довольно старый: Поддерживает ли Bot Framework шаблон кнопок Facebook Messenger? и просматривает список доступных карт с помощью Bot Framework .

Поддерживает ли в настоящее время Botbuilder Шаблон кнопки Facebook Messenger ? Я хотел бы, чтобы решение было канальным c, поэтому для достижения этой цели не потребуется манипулировать JSON. Я пытался использовать карту героя без заголовка и изображения, но результат не очень эстетичен, а обычный текст выделен жирным шрифтом.

enter image description here

Это код, который отображает карту:

const attachment = CardFactory.heroCard(
        "",
        "BotFramework Hero Card",
        CardFactory.images([]),
        CardFactory.actions([
            {
                type: "openUrl",
                title: "Get started",
                value: "https://docs.microsoft.com/en-us/azure/bot-service/"
            },
            {   
                type: "openUrl",
                title: "Get started2",
                value: "https://docs.microsoft.com/en-us/azure/bot-service/"
            }
        ])
    );

    return MessageFactory.attachment(attachment);

Пробовал также с ThumbnailCard, но показывает тот же результат ...

1 Ответ

1 голос
/ 28 января 2020

Если вы отправите карту героя через соединитель Facebook, тогда она будет автоматически преобразована в шаблон кнопки, если на карте есть только кнопки и нет текста или изображений, и в противном случае она будет преобразована в шаблон c. Если вы хотите отправить настроенный шаблон по вашему выбору, вы можете использовать Данные канала Bot Framework . Это может выглядеть примерно так:

reply = {
    'type': ActivityTypes.Message,
    'channelData': {
        'attachment': {
            'type': 'template',
            'payload': {
                'template_type': 'button',
                'text': 'Button Template',
                'buttons': buttons
            }
        }
    }
};

Обратите внимание, что, хотя ответ на ваш вопрос положительный, вы все равно можете быть недовольны. Вы только попросили способ использовать шаблон кнопки вместо шаблона c, но вы решили, что вы хотите, чтобы он выглядел лучше. Проблема заключается в том, что внешний вид будет зависеть от того, какой клиент Messenger вы используете, и в некоторых клиентах этот шаблон кнопки не будет отличаться от универсального c шаблона. Если вы попробуете шаблон кнопки, но вы все еще не удовлетворены, то вам, возможно, придется поэкспериментировать. Я думаю, что самый быстрый способ проверить это - отправлять сообщения в виде вашего бота в приложение HTTP, такое как Postman, используя Bot Framework REST API .

...