поиск file_id группового медиа-сообщения в телеграмме библиотекой телеботов

В моем боте я получил перенаправленное сообщение медиагруппы, содержащее 3 разных фотографии. Теперь я хочу поймать все эти 3 фото и снова отправить их другому chat_id. Однако все значения в message.photo.file_idпредставляют одну и ту же фотографию в разных разрешениях, и когда я сохраняю ее в списке для использования в разделе , она создает группу одной и той же фотографии.

Мой вопрос в том, как я могу найти эти три изображения уникальными file_idхранить в моем списке и использовать его в mediaчасть bot.send_media_group

мой код ниже:

          for i in message.photo:
                    print(i.file_id)
                    list_file_id.append(i.file_id)
                print(message)
                print(list_file_id)

    bot.send_media_group(channelData.chat_ID, media = [InputMediaPhoto(media = i) for i in list_file_id], caption= "hellow")

1 ответ

Вы перебираете неправильный параметр, но это то, что я определяю как ложный друг .

Атрибут photo в объекте Message Telegram представляет все доступные размеры, связанные с картинкой в ​​самом сообщении (документация здесь ).

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

Другие вопросы по тегам