Добавлены основные функции MVP: тематические подборки, импорт слов, диалоговая практика, напоминания и тест уровня
Новые команды: - /words [тема] - AI-генерация тематических подборок слов (10 слов по теме с учётом уровня) - /import - извлечение до 15 ключевых слов из текста (книги, статьи, песни) - /practice - диалоговая практика с AI в 6 сценариях (ресторан, магазин, путешествие, работа, врач, общение) - /reminder - настройка ежедневных напоминаний по расписанию - /level_test - тест из 7 вопросов для определения уровня английского (A1-C2) Основные изменения: - AI сервис: добавлены методы generate_thematic_words, extract_words_from_text, start_conversation, continue_conversation, generate_level_test - Диалоговая практика: исправление ошибок в реальном времени, подсказки, перевод реплик - Напоминания: APScheduler для ежедневной отправки напоминаний в выбранное время - Тест уровня: автоматическое определение уровня при регистрации, можно пропустить - База данных: добавлены поля reminders_enabled, last_reminder_sent - Vocabulary service: метод get_word_by_original для проверки дубликатов - Зависимости: apscheduler==3.10.4 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
18
main.py
18
main.py
@@ -6,8 +6,9 @@ from aiogram.client.default import DefaultBotProperties
|
||||
from aiogram.enums import ParseMode
|
||||
|
||||
from config.settings import settings
|
||||
from bot.handlers import start, vocabulary, tasks, settings as settings_handler
|
||||
from bot.handlers import start, vocabulary, tasks, settings as settings_handler, words, import_text, practice, reminder, level_test
|
||||
from database.db import init_db
|
||||
from services.reminder_service import init_reminder_service
|
||||
|
||||
|
||||
async def main():
|
||||
@@ -27,16 +28,29 @@ async def main():
|
||||
|
||||
# Регистрация роутеров
|
||||
dp.include_router(start.router)
|
||||
dp.include_router(level_test.router)
|
||||
dp.include_router(vocabulary.router)
|
||||
dp.include_router(tasks.router)
|
||||
dp.include_router(settings_handler.router)
|
||||
dp.include_router(words.router)
|
||||
dp.include_router(import_text.router)
|
||||
dp.include_router(practice.router)
|
||||
dp.include_router(reminder.router)
|
||||
|
||||
# Инициализация базы данных
|
||||
await init_db()
|
||||
|
||||
# Инициализация и запуск сервиса напоминаний
|
||||
reminder_service = init_reminder_service(bot)
|
||||
reminder_service.start()
|
||||
|
||||
# Запуск бота
|
||||
logging.info("Бот запущен")
|
||||
await dp.start_polling(bot)
|
||||
try:
|
||||
await dp.start_polling(bot)
|
||||
finally:
|
||||
# Остановка планировщика при завершении
|
||||
reminder_service.shutdown()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Reference in New Issue
Block a user