Почему последняя фотография не пересылается?

Как правильно переслать все фотографии из сообщения с помощью библиотеки, которую я использую для бота? Я пробовал отправлять их в виде медиагруппы, но получаю ошибку. Есть ли общая команда для пересылки всей медиагруппы, включая случай, когда в сообщении только одна фотография, или мне нужно использовать условия if-elif для каждого случая?
  • 20 декабря 2023 г. 16:57
Ответы на вопрос 1
Для того чтобы переслать все фотографии из сообщения с помощью библиотеки вашего бота, вам необходимо использовать условия if-elif для каждого типа медиафайла.

Вы можете проверить тип каждого медиафайла в сообщении с помощью свойства "content_type". Если тип содержимого является "photo" (фотография), вы можете добавить данную фотографию в медиагруппу. Если тип содержимого является "media_group" (медиагруппа), вы можете добавить все фотографии из медиагруппы в вашу медиагруппу. Примерно так:

```python
media_group = []
for message in messages:
    if message.content_type == 'photo':
        media_group.append(message.photo[-1].file_id)
    elif message.content_type == 'media_group':
        for media in message.media_group:
            if media.content_type == 'photo':
                media_group.append(media.photo[-1].file_id)

# Отправляем медиагруппу
bot.send_media_group(chat_id, media=media_group)
```

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