@Cheabatto

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

Использую библиотеку Telebot.
Пользователь присылает фотографию, как мне получить ID этой фотографии? message.Id не сработал
  • Вопрос задан
  • 4612 просмотров
Решения вопроса 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
Почитайте тут
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы