у меня бот в котором менеджер должен передавать фото при выполнении задачи админу на проверку. Но почему то отправляется только 1 фото 4 раза при том... где накосячил, чего не вижу?
помогите разобраться...
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 = {
'type': 'photo',
'media': media_item.file_id,
}
# Если это первое фото, добавляем caption
if idx == 0:
media_item_data['caption'] = 'Ваш текст здесь'
media.append(media_item_data)
# Логируем медиагруппу
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, "Медиагруппа отправлена админам.")
# Если это одиночное фото
elif message.photo:
for photo in message.photo:
for admin in admins:
bot.send_photo(admin.telegram_id, photo.file_id)
sleep(1)
bot.send_message(manager_chat_id, "Фото отправлены админам.")
else:
bot.send_message(manager_chat_id, "Фото или медиагруппа не были найдены.")
except Exception as e:
logger.error(f"Ошибка при обработке фотографии или медиагруппы для задачи {task_id}: {e}")
bot.send_message(manager_chat_id, "Произошла ошибка при обработке фото или медиагруппы.")