Судя по вашему коду, проблема может заключаться в том, как вы обрабатываете медиагруппу. В зависимости от используемой библиотеки для работы с Telegram API (например, `python-telegram-bot` или `telebot`), способ получения и отправки медиагрупп может отличаться.
Ваш код пытается собрать медиагруппу из `message.media_group`, но обработка медиагрупп в Telegram может потребовать несколько иного подхода. Вместо того чтобы собирать `file_id` из медиагруппы, следует работать с объектами сообщения правильно.
Вот корректированный пример, который может помочь вам исправить ситуацию:
```python
def process_photo(message, task_id, manager_chat_id):
"""
Обрабатывает полученную медиагруппу (фото) и пересылает их администраторам.
"""
try:
# Логируем объект message
logger.debug(f"Полученное сообщение: {message}")
# Получаем список администраторов
admins = CustomUser.objects.filter(status='admin')
# Если это медиагруппа
if hasattr(message, 'media_group') and message.media_group:
media = []
# Собираем фото из медиагруппы
for idx, media_item in enumerate(message.media_group):
if media_item.media_type == 'photo':
media_item_data = media_item.media # Используем сам объект медиапредставления
# Если это первое фото, добавляем caption
if idx == 0:
media.append((media_item_data.file_id, 'Ваш текст здесь'))
else:
media.append(media_item_data.file_id)
# Логируем медиагруппу
logger.debug(f"Медиагруппа для отправки: {media}")
# Отправляем медиагруппу администраторам
for admin in admins:
if media:
bot.send_media_group(admin.telegram_id, media)
sleep(1)
bot.send_message(manager_chat_id, "Медиагруппа отправлена админам.")
except Exception as e:
logger.error(f"Ошибка при обработке фото: {e}")
```
Как вы можете заметить, здесь мы изменили подход к формированию списка `media`. Мы используем `media_item.media`, чтобы получить нужное относительное представление медиаконтента. Кроме того, мы добавляем caption только к первому элементу и добавляем только `file_id` для остальных, когда это необходимо.
Пожалуйста, протестируйте этот код и проверьте, решит ли он вашу проблему. Убедитесь также, что вы используете правильные параметры для отправки группы медиафайлов в зависимости от используемой библиотеки Telegram.