Мини-игры (/games): - Speed Round: 10 раундов, 10 секунд на ответ, очки за скорость - Match Pairs: 5 слов + 5 переводов, соединить пары Premium-функции: - Поля is_premium и premium_until для пользователей - AI режим проверки ответов (учитывает синонимы) - Batch проверка всех ответов одним запросом Улучшения: - Примеры использования для всех добавляемых слов - Разбиение переводов по запятой на отдельные записи - Полные предложения в контекстах (без ___) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
4.4 KiB
4.4 KiB
Версия 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_splitbot/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 режима
- Результаты и список ответов