Задача
Требуется разработать 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 со спарсенными файлами.