@AceFridge

Как определить количество фото в media group (pytelegrambotapi)?

Ищу способ определения количества фотографий в медиа группе, либо способ определить что получено сообщение с последним фото в медиа группе.
  • Вопрос задан
  • 872 просмотра
Пригласить эксперта
Ответы на вопрос 2
InternetMaster
@InternetMaster
Интернет
Телеграм высылает все фото по отдельности (не важно, были они отправлены группой или по отдельности). Тут нужно пересчитать количество полученных от пользователя сообщений message photo. Или перед отправкой спросить у пользователя.
Ответ написан
@AceFridge Автор вопроса
суть вопроса в том что мне необходимо реализовать следующую логику работы: разные пользователи скидывают в одну группу фотоотчет с указанием в подписи к фото (message.caption) номер объекта к которому относится фотоотчет, в случае, если подписи не было или она содержит неизвестный номер, то бот запрашивает номер, пользователь отвечает следующим сообщением, фотоотчет записывается в БД.

С отправкой 1 фото без подписи и с подписью всё реализовано и работает без проблем.

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

Вся сложность с последним возможным состоянием отправки: если юзер кидает группу фото с припиской номера в caption. Проблема заключается в том, что caption при съемке с телефона можно заполнить на первое, второе, третье фото, если делать это между фотографированиями... на все фото можно заполнить хоть разный текст, в клиенте отобразится только последний, а по факту бот получит caption на тех фото, на которые оно заполнялось. Если заполнить caption после выполнения всех фото, то caption придет на последнем фото, при этом бот получает первое сообщение с media_group_id, но без caption. При отправке с ПК такой проблемы нет, закидываешь группу фото, заполняешь подпись, подпись привязывается к первому сообщению в группе.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы