Внести несколько изменений в готового телеграмм-бота
5 000 руб. за проект
Описание проекта: Имеется Telegram-бот, написанный на Python с использованием библиотек aiogram, SQLAlchemy, apscheduler, и API OpenAI. Бот предназначен для обучения английскому языку, включая работу со словарем, грамматикой, и голосовым взаимодействием.
Текущий код работает корректно, но требует рефакторинга и оптимизации в соответствии с полученной обратной связью. Необходимо разбить код на логически связанные модули, оптимизировать работу с языковыми данными, сделать код более структурированным и поддерживаемым.
Рефакторинг структуры проекта:
Оптимизация языковой обработки:
Асинхронная работа с базой данных:
Перенос конфигурации в отдельный файл:
Текущий код работает корректно, но требует рефакторинга и оптимизации в соответствии с полученной обратной связью. Необходимо разбить код на логически связанные модули, оптимизировать работу с языковыми данными, сделать код более структурированным и поддерживаемым.
Рефакторинг структуры проекта:
- Разнести функции по отдельным файлам и папкам, соответствующим их назначениям
- Обеспечить четкое разделение ответственности между модулями и минимизировать дублирование кода.
Оптимизация языковой обработки:
- Внедрить кэширование для хранения языка пользователя, чтобы не запрашивать его из базы данных каждый раз.
- Создать middleware, который будет получать и сохранять язык пользователя при каждом запросе и передавать его в функции хендлеров.
- Вынести все текстовые сообщения на разных языках в отдельный файл (например, templates/quotes.py), чтобы избежать большого количества условных операторов (if).
- Перевести функции работы с базой данных на асинхронный режим с использованием SQLAlchemy.
- Перенести создание сессий в функции, где они действительно необходимы, избегая их создания в хендлерах бота.
- Создать файл конфигурации config.py, в который перенести все настройки и параметры, такие как:
- Загрузка переменных окружения (dotenv).
- Пути к файлам, используемым ботом.
- Токены и другие конфиденциальные данные.
- Обеспечить возможность гибкого управления конфигурациями для различных окружений (разработка, тестирование, продакшн).
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.