Вложения Microsoft Bot Framework для мессенджера Facebook

Сообщения Microsoft Bot Framework с кнопками в Facebook Messenger

Мой вопрос относится к указанному выше вопросу. Я пишу бота с использованием node.js, который не использует SDK для создания ботов. Я вручную возвращаю совместимый ответ для службы соединителя ботов ms. Это нормально работает для текстового ответа, но я хочу возвращать более сложные ответы, например кнопки / карусель, которые вы можете вернуть с помощью мессенджера. Основываясь на вопросе, который я связал выше, я догадался о формате и добавил следующее:

response.attachments = [ { "Title": "Choose One: ", "Actions": [{ "Title": "Postback!", "Message": "Postback from button" }, { "Title": "Postback2!", "Message": "Postback2 from button" }] } ];

Заголовок верхнего уровня, кажется, ничего не делает, но действия правильно отображаются как кнопки типа обратной передачи (они отправляют сообщение как содержимое обратной передачи). С помощью мессенджера у вас также есть возможность возвращать кнопки на основе URL-адресов и URL-адреса изображений.

Насколько я могу судить, отсутствует документация по возврату вложений с помощью sdk сборщика узловых ботов. Если бы они были, я бы просто написал бота с sdk, чтобы получить формат ответа.

Итак, у меня вопрос: знает ли кто-нибудь, как правильно вернуть кнопки обратной передачи и URL-адреса в службу подключения ботов, включая сопутствующие изображения, с SDK-конструктором ботов или без него?

Обновление 05.05.2016

Итак, я нашел ссылку ниже, и вы можете увидеть определение свойства вложений:

http://docs.botframework.com/sdkreference/nodejs/interfaces/_botbuilder_d_.imessage.html

Если вы последуете ему в соответствии со спецификацией IAttachment, это заставит меня задуматься, как / почему мой приведенный выше код вообще работает? В качестве теста этого формата я написал следующее:

    var att = {};
    att.content = "I am content";
    att.contentType = "text/plain";
    att.contentUrl = "http://www.google.com";
    att.fallbackText = "I am fallback text";
    att.text  = "I am text";
    att.thumbnailUrl = "https://pbs.twimg.com/profile_images/638751551457103872/KN-NzuRl.png";
    att.title  ="I am title";
    att.titleLink = "http://yahoo.com";

Теперь в Slack я получаю довольно приятный результат:  введите описание изображения здесь

Однако в мессенджере я получаю сообщение «Ошибка службы: значение не может быть нулевым. Имя параметра: источник».


person stevepkr84    schedule 04.05.2016    source источник


Ответы (1)