Задача

Требуется разработать Telegram-бота, который будет ежедневно анализировать переписку в нескольких определенных чатах, формировать по итогам дня отчет и прикреплять все вложенные файлы (документы, медиафайлы), отправленные участниками за этот период.

Основные функции

  • Подключение к нескольким заранее указанным Telegram-чатам (группам) и мониторинг сообщений.
  • Автоматический сбор всех вложений (изображения, видео, аудио, документы), отправленных за сутки, и сохранение их (или ссылок на них) для включения в финальный отчет.
  • Формирование ежедневного текстового анализа переписки: выявление ключевых слов, подсчет активности, возможно тональность (если требуется).
  • Отправка итогового отчета и заархивированных/запакованных вложений администратору (или в указанный чат) в конце каждого дня (в 00:00 / 23:59 по заданному часовому поясу).
  • Надежное логирование ошибок и возможность конфигурации списка чатов без изменения кода (например, через переменные окружения или отдельную конфигурацию).

Требования по реализации

  • Реализация: чистый Python (без фреймворков, упрощающих создание ботов).
  • Бот должен работать круглосуточно (любой способ: хостинг, VPS, Daemon, systemd unit).
  • Поддержка форматирования отчета: HTML или Markdown.
  • Код должен быть сфокусирован только на сбор данных и периодической отправке отчета (без сложной админ-панели - администрирование происходит через самой Telegram или файлы).
  • Клиент Telegram: aiogram (от пользователя), если не указано иное - возможен Telethon/Basic API в зависимости от выбранного подхода (статус обсуждается с заказчиком).

Пример желаемого отчета

В 23:00 дня отправляется в служебный чат сообщение:
"За сегодня ({дата}) обработано 47 сообщений (загружено 12 файлов). Основные запросы: меню/цены/часы работы."
Далее - вложение в виде zip-архива или PDF со спарсенными файлами.