# Версия 1.5.0 **Дата:** 2025-12-10 ## Новые функции ### Мини-игры - Добавлен раздел мини-игр (`/games`) - **Быстрый перевод (Speed Round)** - 10 раундов, 10 секунд на ответ - Очки за скорость ответа - Прогресс-бар таймера в реальном времени - Фильтрация слов по изучаемому языку - Список ответов с результатами в конце игры - **Найди пару (Match Pairs)** - 5 слов и 5 переводов вперемешку - Нужно соединить правильные пары (формат: 1A, 2B, 3C...) - Учёт времени прохождения - Подсчёт очков за правильные пары - Кнопка "Мини-игры" в главном меню ### Система подписки (Premium) - Добавлено поле `is_premium` для пользователей - Добавлено поле `premium_until` для даты окончания подписки - Премиум-пользователи могут выбирать режим проверки в играх: - **AI режим** - проверка с учётом синонимов и вариаций ответа - **Простой режим** - точное сравнение с переводами из словаря ### Улучшенная проверка ответов - В простом режиме теперь учитываются все переводы слова из таблицы `word_translations` - Добавлен метод `check_translations_batch` в AI сервис для пакетной проверки всех ответов одним запросом - AI проверка выполняется в конце игры (оптимизация количества запросов) - Предупреждение о работе AI режима перед началом игры ### Унификация добавления слов - Все способы добавления слов теперь сохраняют перевод в таблицу `word_translations` - Это обеспечивает корректную работу проверки в мини-играх для всех слов - Добавлен метод `add_translation_split` - автоматическое разбиение переводов по запятой/точке с запятой на отдельные записи ## Изменения в базе данных ### Новые поля в таблице `users` - `is_premium` (Boolean) - флаг подписки - `premium_until` (DateTime) - дата окончания подписки ### Миграция - `20251210_add_is_premium.py` ## Новые файлы - `bot/handlers/minigames.py` - обработчики мини-игр - `versions/v1.5.0.md` - файл обновления ## Изменённые файлы - `database/models.py` - добавлены поля подписки - `services/ai_service.py` - метод `check_translations_batch` для пакетной проверки - `services/vocabulary_service.py` - методы `get_random_words_with_translations`, `add_translation_split` - `bot/handlers/start.py` - кнопка мини-игр в меню - `bot/handlers/words.py` - добавление в word_translations при добавлении тематических слов - `bot/handlers/import_text.py` - добавление в word_translations при импорте из текста - `bot/handlers/stories.py` - добавление в word_translations при добавлении слов из историй - `bot/handlers/wordofday.py` - добавление в word_translations при добавлении слова дня - `main.py` - регистрация роутера мини-игр - `locales/ru.json`, `locales/en.json`, `locales/ja.json` - локализация мини-игр ## Локализация Добавлены ключи для мини-игр на всех языках (ru/en/ja): - Меню мини-игр - Правила Speed Round - Правила Match Pairs - Режимы проверки (AI/простой) - Предупреждение о работе AI режима - Результаты и список ответов