Добавлены основные функции 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:
2025-12-04 15:46:02 +03:00
parent 2c51fa19b6
commit 72a63eeda5
13 changed files with 1781 additions and 23 deletions

View File

@@ -4,17 +4,25 @@
## Возможности
- 🎯 Автоматический тест определения уровня (A1-C2)
- 📚 Управление словарным запасом с автоматическим переводом через AI
- ✍️ Интерактивные задания на перевод слов с проверкой через AI
- 📖 Тематические подборки и извлечение слов из текстов
- ✍️ Интерактивные задания 3-х типов с проверкой через AI
- 💬 Диалоговая практика с ИИ в разных сценариях
- 📊 Статистика прогресса и точность ответов
- 🔄 Умные повторения (spaced repetition)
- 💬 Диалоговая практика с ИИ (в разработке)
- ⏰ Ежедневные напоминания по расписанию
- ⚙️ Адаптивная сложность под твой уровень
## Текущая версия (MVP)
**Реализовано:**
-`/start` - регистрация и приветствие пользователя
-`/level_test` - тест для определения уровня английского (7 вопросов, автоматическое определение A1-C2)
-`/add [слово]` - добавление слов в словарь с AI-переводом, транскрипцией и примерами
-`/words [тема]` - AI-генерация тематических подборок слов (travel, food, work и т.д.)
-`/import` - извлечение слов из текста с помощью AI (книги, статьи, тексты песен)
-`/practice` - диалоговая практика с AI (6 сценариев: ресторан, магазин, путешествие, работа, врач, общение)
-`/vocabulary` - просмотр личного словаря (последние 10 слов)
-`/task` - интерактивные задания 3-х типов:
- Перевод EN→RU
@@ -22,10 +30,14 @@
- Заполнение пропусков в предложениях
-`/stats` - детальная статистика обучения
-`/settings` - настройки пользователя (уровень A1-C2, язык интерфейса)
-`/reminder` - ежедневные напоминания о практике (настройка времени и включение/выключение)
-`/help` - справка по командам
- ✅ Проверка ответов через AI с детальной обратной связью
- ✅ AI-генерация предложений для практики в контексте
- ✅ Исправление ошибок в реальном времени во время диалога
- ✅ Автоматический тест уровня при первом запуске
- ✅ Отслеживание прогресса по каждому слову
- ✅ Автоматические ежедневные напоминания по расписанию
- ✅ База данных (PostgreSQL) для хранения данных
- ✅ Docker-развёртывание (полное и только БД)
@@ -216,29 +228,71 @@ bot_tg_language/
### Команды бота
- `/start` - Начать работу с ботом
- `/level_test` - Пройти тест определения уровня
- `/add [слово]` - Добавить слово в словарь
- `/words [тема]` - Получить тематическую подборку слов
- `/import` - Извлечь слова из текста
- `/practice` - Диалоговая практика с AI
- `/vocabulary` - Посмотреть свой словарь
- `/task` - Получить интерактивное задание
- `/stats` - Просмотреть статистику
- `/settings` - Настройки бота
- `/reminder` - Настроить ежедневные напоминания
- `/help` - Показать справку
### Пример использования
1. Запустите бота: `/start`
2. Добавьте слово: `/add elephant`
3. Бот переведёт слово через AI и предложит добавить в словарь
4. Подтвердите добавление
5. Просмотрите словарь: `/vocabulary`
2. Пройдите тест уровня (или пропустите)
3. Добавьте слово: `/add elephant`
4. Бот переведёт слово через AI и предложит добавить в словарь
5. Подтвердите добавление
6. Получите тематическую подборку: `/words travel`
7. Выберите слова для добавления из предложенного списка
8. Просмотрите словарь: `/vocabulary`
9. Выполните задание: `/task`
10. Настройте напоминания: `/reminder` и установите время (например, 09:00 UTC)
### Тест определения уровня
При первом запуске бот предложит пройти тест:
- **7 вопросов** разной сложности (A1 → C2)
- **Автоматическое определение** уровня по результатам
- **2-3 минуты** на прохождение
- Можно пропустить и пройти позже: `/level_test`
- Или установить уровень вручную в `/settings`
Тест помогает подобрать задания и материалы под твой реальный уровень!
### Настройка напоминаний
Команда `/reminder` позволяет настроить ежедневные напоминания:
- Установите время в формате HH:MM (UTC)
- Включите/выключите напоминания
- Бот будет отправлять напоминание каждый день в указанное время
- **Важно**: время указывается в UTC (МСК = UTC + 3)
## Roadmap
См. [TZ.md](TZ.md) для полного технического задания.
**Следующие этапы:**
- [ ] Ежедневные задания с разными типами упражнений
- [ ] Тематические подборки слов
- [ ] Импорт слов из текста
- [ ] Диалоговая практика с AI
- [ ] Статистика и прогресс
- [ ] Spaced repetition алгоритм
**MVP завершён! 🎉**
Все основные функции реализованы:
- [x] Ежедневные задания с разными типами упражнений
- [x] Тематические подборки слов
- [x] Импорт слов из текста
- [x] Диалоговая практика с AI
- [x] Статистика и прогресс
- [x] Spaced repetition алгоритм (базовая версия)
- [x] Напоминания и ежедневные задания по расписанию
**Следующие улучшения:**
- [ ] Экспорт словаря (PDF, Anki, CSV)
- [ ] Голосовые сообщения для практики произношения
- [ ] Групповые челленджи и лидерборды
- [ ] Gamification (стрики, достижения, уровни)
- [ ] Расширенная аналитика с графиками
## Cloudflare AI Gateway (опционально)