Files
tg_bot_language/versions/v1.5.0.md
mamonov.ep adc8a6bf8e feat: мини-игры, premium подписка, улучшенные контексты
Мини-игры (/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>
2025-12-10 19:42:10 +03:00

73 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Версия 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 режима
- Результаты и список ответов