MS Bot Framework - сообщения с потерянными аудио вложениями - PullRequest
0 голосов
/ 03 мая 2018

Я пишу бота в Node.js, используя MS Bot Framework. Для отправки вложений я на самом деле использую буфер потока файлов в качестве contentUrl, например,

...
var base64 = new Buffer(filedata).toString('base64');
var msg = new builder.Message()
    .setText(session, text)
    .addAttachment({
        contentUrl: util.format('data:%s;base64,%s', contentType, base64),
        contentType: contentType
});
session.send(msg);
...

, где contentType - правильный mimetype для рассматриваемого файла.

Когда я проверяю это локально (с помощью эмулятора Bot Framework), это прекрасно работает как с изображениями, так и со звуковыми файлами - сообщения с вложенными изображениями отображают изображение, а сообщения с вложенными звуковыми файлами показывают аудиокарту, допускающую воспроизведение и т. Д.

Однако, когда я проверяю это через FB Messenger, изображения работают нормально, но звуковые сообщения никогда не появляются в FB. Даже текст сообщения не приходит; как будто все сообщение потеряно. Диалог просто пропускает сообщение, содержащее аудио-вложение. Я даже не вижу никаких ошибок, полученных на стороне сервера.

Это происходит с тестовыми аудиофайлами mp3 и wav, каждый из которых имеет размер менее 1 МБ (меньше, чем у многих файлов изображений, которые я успешно протестировал).

Есть ли какая-то хитрость в отправке воспроизводимых аудиофайлов на канал FB Messenger?

Спасибо!

1 Ответ

0 голосов
/ 03 мая 2018

Я (пока) не смог получить ответ от поддержки FB, но после дальнейшего тестирования, похоже, там равно ограничение размера файлов для аудиофайлов, которое FB Messenger будет принимать.

В частности, мне удалось получить образец файла размером ~ 45 КБ для успешной отправки и отображения в Messenger, но больший файл размером ~ 400 КБ был сброшен (иначе, похоже, он успешно отправлялся со стороны сервера, но не показывал в мессенджере).

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

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

...