Заметки
Как сгруппировать фотографии при отправке из Битрикс24 в Telegram-бот
Почему фотографии из Битрикс24 не всегда уходят альбомом в Telegram и как учитывать ограничения коннектора.
Альбом Telegram — это не просто несколько файлов подряд. Если коннектор отправляет каждую фотографию отдельным сообщением, Telegram покажет их раздельно. Для альбома нужна отдельная логика группировки на стороне бота или коннектора.
Задача
Оператор прикрепляет несколько фотографий в Битрикс24, а клиент в Telegram должен получить их одной группой.
Штатный коннектор или простой бот часто отправляет файлы по одному. В Telegram это выглядит как серия отдельных сообщений, а не как альбом.
Что такое альбом для Telegram
Для Telegram альбом — это группа медиа, отправленная одним запросом или одной логической пачкой.
Коннектор должен собрать файлы одного сообщения или короткого окна времени, подготовить массив media и отправить его через метод Telegram для media group. Если файлы уходят по одному обработчику, сгруппировать их позже уже сложно.
Что приходит из Битрикс24
Из Битрикс24 важно получить не только текст сообщения, но и список вложений.
В обработчике исходящего сообщения нужно смотреть, какие файлы прикреплены, получить ссылки или содержимое и понять, какие из них являются изображениями. Только после этого можно собирать альбом.
Ограничения коннектора
Не каждый сценарий открытых линий даёт удобный формат для альбомов.
Если оператор отправляет фотографии несколькими отдельными сообщениями, коннектору придётся группировать их по времени, автору и чату. Это уже эвристика. Надёжнее группировать вложения одного сообщения.