Telegram-бот для загрузки и публикации выписок

Необходимо разработать автоматизированного бота для мессенджера Telegram (на языке Python), основной функционал которого заключается в следующем:

Основные требования

  • Интеграция с почтой: Бот должен уметь подключаться к указанному почтовому ящику (например, через IMAP) и периодически проверять новые входящие письма.
  • Обработка вложений: Автоматически находить и скачивать файл с выпиской из банка из тела письма или вложений.
  • Отправка в Telegram: Загруженный файл (документ) должен быть автоматически отправлен в сообщество (группу или канал) в Telegram.
  • Администрирование: Предусмотреть простую админ-панель или управление через файл конфигурации для настройки почтовых данных и ID Telegram-чата.

Важно исполнителю

На первом этапе не требуется сложный графический интерфейс или веб-админка. Достаточно реализации на чистом Python. Все конфиденциальные данные (логин/пароль от почты, данные для входа могу быть заменены абстрактными значениями) и параметры бота должны быть вынесены в отдельный конфигурационный файл или переменные окружения. Заказчик предоставит доступ к тестовому почтовому ящику и Telegram-группе для отладки функционала.

Технические аспекты

Код должен быть читабельным, с комментариями на русском или английском языке. Основная библиотека для работы с Telegram:

  • Рекомендуемые библиотеки: python-telegram-bot (async) или aiogram
  • Для работы с почтой: стандартные библиотеки Python (imapclient, email).
  • Предусмотреть устойчивость к соединению: многократные попытки подключения при падении соед. с Telegram или Почтой каждые 30 минут.

Сроки и передача

Код передается в виде zip-архива/ссылки на репозиторий + краткая интсрукция по запуску (достаточно requirements.txt и чтения документации на общедоступных зависимостях).