поиск 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 , который можно найти в атрибутах объекта другого сообщения.