Внести несколько изменений в готового телеграмм-бота

5 000 руб. за проект
27 августа 2024, 15:50 • 17 откликов • 143 просмотра
Описание проекта: Имеется Telegram-бот, написанный на Python с использованием библиотек aiogram, SQLAlchemy, apscheduler, и API OpenAI. Бот предназначен для обучения английскому языку, включая работу со словарем, грамматикой, и голосовым взаимодействием.

Текущий код работает корректно, но требует рефакторинга и оптимизации в соответствии с полученной обратной связью. Необходимо разбить код на логически связанные модули, оптимизировать работу с языковыми данными, сделать код более структурированным и поддерживаемым.

Рефакторинг структуры проекта:


  • Разнести функции по отдельным файлам и папкам, соответствующим их назначениям
  • Обеспечить четкое разделение ответственности между модулями и минимизировать дублирование кода.

Оптимизация языковой обработки:

  • Внедрить кэширование для хранения языка пользователя, чтобы не запрашивать его из базы данных каждый раз.
  • Создать middleware, который будет получать и сохранять язык пользователя при каждом запросе и передавать его в функции хендлеров.
  • Вынести все текстовые сообщения на разных языках в отдельный файл (например, templates/quotes.py), чтобы избежать большого количества условных операторов (if).

  • Асинхронная работа с базой данных:

    • Перевести функции работы с базой данных на асинхронный режим с использованием SQLAlchemy.
    • Перенести создание сессий в функции, где они действительно необходимы, избегая их создания в хендлерах бота.
  • Перенос конфигурации в отдельный файл:

    • Создать файл конфигурации config.py, в который перенести все настройки и параметры, такие как:
      • Загрузка переменных окружения (dotenv).
      • Пути к файлам, используемым ботом.
      • Токены и другие конфиденциальные данные.
    • Обеспечить возможность гибкого управления конфигурациями для различных окружений (разработка, тестирование, продакшн).