Задать вопрос
@Cheabatto

Как получать Id фотографии в телеграмм?

Использую библиотеку Telebot.
Пользователь присылает фотографию, как мне получить ID этой фотографии? message.Id не сработал
  • Вопрос задан
  • 7221 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
@o5a
Зависит еще от того, как эту фотографию скинули. Если отправлять без сжатия, то оно придет в исходном виде, с типом (content_type) 'document', а идентификатор будет
message.document.file_id

Если со сжатием (по умолчанию для фото), то оно придет типа 'photo', а идентификаторов будет несколько, под разные разрешения, в таком виде:
message.photo - список из разных разрешений со своими file_id

Т.е. для получения идентификатора нужно из списка выбрать нужный вариант.
Например, так (максимальный размер)
photo = max(message.photo, key=lambda x: x.height)
file_id = photo.file_id
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
DanArst
@DanArst
Гриффиндор в моде при любой погоде!
Так message.id - это ID сообщения, а не вложенного файла.
Для получения ID фото message.photo.file_id
Почитайте тут
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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