2025-12-04 11:09:54 +03:00
|
|
|
|
# Telegram Бот для изучения языков
|
2025-12-04 07:49:51 +00:00
|
|
|
|
|
2025-12-04 11:09:54 +03:00
|
|
|
|
Интеллектуальный Telegram бот для изучения английского языка с использованием AI.
|
|
|
|
|
|
|
|
|
|
|
|
## Возможности
|
|
|
|
|
|
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- 🎯 Автоматический тест определения уровня (A1-C2)
|
2025-12-04 11:09:54 +03:00
|
|
|
|
- 📚 Управление словарным запасом с автоматическим переводом через AI
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- 📖 Тематические подборки и извлечение слов из текстов
|
|
|
|
|
|
- ✍️ Интерактивные задания 3-х типов с проверкой через AI
|
|
|
|
|
|
- 💬 Диалоговая практика с ИИ в разных сценариях
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- 📊 Статистика прогресса и точность ответов
|
|
|
|
|
|
- 🔄 Умные повторения (spaced repetition)
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- ⏰ Ежедневные напоминания по расписанию
|
|
|
|
|
|
- ⚙️ Адаптивная сложность под твой уровень
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
## Текущая версия (MVP)
|
|
|
|
|
|
|
|
|
|
|
|
**Реализовано:**
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- ✅ `/start` - регистрация и приветствие пользователя
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- ✅ `/level_test` - тест для определения уровня английского (7 вопросов, автоматическое определение A1-C2)
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- ✅ `/add [слово]` - добавление слов в словарь с AI-переводом, транскрипцией и примерами
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- ✅ `/words [тема]` - AI-генерация тематических подборок слов (travel, food, work и т.д.)
|
|
|
|
|
|
- ✅ `/import` - извлечение слов из текста с помощью AI (книги, статьи, тексты песен)
|
|
|
|
|
|
- ✅ `/practice` - диалоговая практика с AI (6 сценариев: ресторан, магазин, путешествие, работа, врач, общение)
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- ✅ `/vocabulary` - просмотр личного словаря (последние 10 слов)
|
2025-12-04 14:47:07 +03:00
|
|
|
|
- ✅ `/task` - интерактивные задания 3-х типов:
|
|
|
|
|
|
- Перевод EN→RU
|
|
|
|
|
|
- Перевод RU→EN
|
|
|
|
|
|
- Заполнение пропусков в предложениях
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- ✅ `/stats` - детальная статистика обучения
|
2025-12-04 14:47:07 +03:00
|
|
|
|
- ✅ `/settings` - настройки пользователя (уровень A1-C2, язык интерфейса)
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- ✅ `/reminder` - ежедневные напоминания о практике (настройка времени и включение/выключение)
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- ✅ `/help` - справка по командам
|
|
|
|
|
|
- ✅ Проверка ответов через AI с детальной обратной связью
|
2025-12-04 14:47:07 +03:00
|
|
|
|
- ✅ AI-генерация предложений для практики в контексте
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- ✅ Исправление ошибок в реальном времени во время диалога
|
|
|
|
|
|
- ✅ Автоматический тест уровня при первом запуске
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- ✅ Отслеживание прогресса по каждому слову
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- ✅ Автоматические ежедневные напоминания по расписанию
|
2025-12-04 14:34:13 +03:00
|
|
|
|
- ✅ База данных (PostgreSQL) для хранения данных
|
|
|
|
|
|
- ✅ Docker-развёртывание (полное и только БД)
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
## Установка и запуск
|
|
|
|
|
|
|
2025-12-04 11:16:14 +03:00
|
|
|
|
### 🐳 Docker Compose (рекомендуется)
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# Клонировать репозиторий
|
|
|
|
|
|
git clone http://103.137.249.134:3000/NANDI/tg_bot_language.git
|
|
|
|
|
|
cd tg_bot_language
|
|
|
|
|
|
|
|
|
|
|
|
# Настроить .env
|
|
|
|
|
|
cp .env.example .env
|
|
|
|
|
|
# Отредактируйте .env и добавьте BOT_TOKEN и OPENAI_API_KEY
|
|
|
|
|
|
|
|
|
|
|
|
# Запустить
|
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
|
|
|
|
|
|
# Проверить логи
|
|
|
|
|
|
docker-compose logs -f bot
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
📖 Подробная инструкция: [README_DOCKER.md](README_DOCKER.md)
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### Локальная установка
|
|
|
|
|
|
|
2025-12-04 11:23:48 +03:00
|
|
|
|
#### Автоматическая установка (рекомендуется)
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-04 11:23:48 +03:00
|
|
|
|
# Клонировать репозиторий
|
2025-12-04 11:09:54 +03:00
|
|
|
|
git clone http://103.137.249.134:3000/NANDI/tg_bot_language.git
|
|
|
|
|
|
cd tg_bot_language
|
2025-12-04 11:23:48 +03:00
|
|
|
|
|
|
|
|
|
|
# Запустить скрипт установки
|
|
|
|
|
|
./setup.sh
|
|
|
|
|
|
|
|
|
|
|
|
# Отредактировать .env и добавить токены
|
|
|
|
|
|
nano .env
|
|
|
|
|
|
|
|
|
|
|
|
# Активировать виртуальное окружение
|
|
|
|
|
|
source .venv/bin/activate
|
|
|
|
|
|
|
|
|
|
|
|
# Запустить бота
|
|
|
|
|
|
python main.py
|
2025-12-04 11:09:54 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-04 11:23:48 +03:00
|
|
|
|
#### Использование Makefile
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-04 11:23:48 +03:00
|
|
|
|
# Установить всё
|
|
|
|
|
|
make install
|
|
|
|
|
|
|
|
|
|
|
|
# Запустить бота
|
|
|
|
|
|
make run
|
|
|
|
|
|
|
|
|
|
|
|
# Показать все команды
|
|
|
|
|
|
make help
|
2025-12-04 11:09:54 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-04 11:23:48 +03:00
|
|
|
|
#### Ручная установка
|
|
|
|
|
|
|
|
|
|
|
|
**1. Клонирование репозитория**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
git clone http://103.137.249.134:3000/NANDI/tg_bot_language.git
|
|
|
|
|
|
cd tg_bot_language
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**2. Создание виртуального окружения**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python3 -m venv .venv
|
|
|
|
|
|
source .venv/bin/activate
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**3. Установка зависимостей**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
pip install --upgrade pip
|
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
|
```
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
2025-12-04 11:23:48 +03:00
|
|
|
|
**4. Настройка окружения**
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cp .env.example .env
|
2025-12-04 11:23:48 +03:00
|
|
|
|
nano .env # или любой редактор
|
2025-12-04 11:09:54 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-04 11:23:48 +03:00
|
|
|
|
Заполните необходимые параметры:
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
```env
|
|
|
|
|
|
BOT_TOKEN=your_telegram_bot_token_here
|
|
|
|
|
|
OPENAI_API_KEY=your_openai_api_key_here
|
2025-12-04 11:23:48 +03:00
|
|
|
|
DATABASE_URL=postgresql+asyncpg://botuser:botpassword@localhost:5432/language_bot
|
2025-12-04 11:09:54 +03:00
|
|
|
|
DEBUG=True
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Получение токенов:**
|
|
|
|
|
|
- Telegram Bot Token: создайте бота через [@BotFather](https://t.me/BotFather)
|
|
|
|
|
|
- OpenAI API Key: получите на [platform.openai.com](https://platform.openai.com/api-keys)
|
|
|
|
|
|
|
2025-12-04 11:55:51 +03:00
|
|
|
|
**5. Настройка базы данных**
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
2025-12-04 11:55:51 +03:00
|
|
|
|
Запустите PostgreSQL через Docker (рекомендуется):
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-04 11:55:51 +03:00
|
|
|
|
# Через Makefile (рекомендуется)
|
|
|
|
|
|
make docker-db
|
|
|
|
|
|
|
|
|
|
|
|
# Или напрямую через docker-compose
|
|
|
|
|
|
docker-compose up -d db
|
|
|
|
|
|
|
|
|
|
|
|
# Или через отдельный dev-compose
|
|
|
|
|
|
docker-compose -f docker-compose.dev.yml up -d
|
2025-12-04 11:09:54 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-04 11:55:51 +03:00
|
|
|
|
Параметры подключения:
|
|
|
|
|
|
- Host: `localhost`
|
|
|
|
|
|
- Port: `15433` (не конфликтует с другими PostgreSQL)
|
|
|
|
|
|
- User: `botuser`
|
|
|
|
|
|
- Password: `botpassword`
|
|
|
|
|
|
- Database: `language_bot`
|
|
|
|
|
|
- URL: `postgresql+asyncpg://botuser:botpassword@localhost:15433/language_bot`
|
|
|
|
|
|
|
|
|
|
|
|
Или установите PostgreSQL локально:
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-04 11:55:51 +03:00
|
|
|
|
# macOS
|
|
|
|
|
|
brew install postgresql
|
|
|
|
|
|
createdb language_bot
|
|
|
|
|
|
|
|
|
|
|
|
# Linux
|
|
|
|
|
|
sudo apt install postgresql
|
|
|
|
|
|
sudo -u postgres createdb language_bot
|
2025-12-04 11:09:54 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-12-04 11:55:51 +03:00
|
|
|
|
**6. Запуск бота**
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
```bash
|
2025-12-04 11:55:51 +03:00
|
|
|
|
# Активировать venv
|
|
|
|
|
|
source .venv/bin/activate
|
|
|
|
|
|
|
|
|
|
|
|
# Запустить
|
2025-12-04 11:09:54 +03:00
|
|
|
|
python main.py
|
2025-12-04 11:55:51 +03:00
|
|
|
|
|
|
|
|
|
|
# Или через Makefile
|
|
|
|
|
|
make run
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
**Остановка БД:**
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
make docker-db-stop
|
|
|
|
|
|
# или
|
|
|
|
|
|
docker-compose stop db
|
2025-12-04 11:09:54 +03:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Структура проекта
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
bot_tg_language/
|
|
|
|
|
|
├── bot/
|
|
|
|
|
|
│ ├── handlers/ # Обработчики команд
|
|
|
|
|
|
│ │ ├── start.py # /start, /help
|
|
|
|
|
|
│ │ └── vocabulary.py # /add, /vocabulary
|
|
|
|
|
|
│ └── keyboards/ # Клавиатуры (пока не используется)
|
|
|
|
|
|
├── database/
|
|
|
|
|
|
│ ├── models.py # Модели БД (User, Vocabulary, Task)
|
|
|
|
|
|
│ └── db.py # Подключение к БД
|
|
|
|
|
|
├── services/
|
|
|
|
|
|
│ ├── ai_service.py # Сервис для работы с OpenAI
|
|
|
|
|
|
│ ├── user_service.py # Сервис пользователей
|
|
|
|
|
|
│ └── vocabulary_service.py # Сервис словаря
|
|
|
|
|
|
├── config/
|
|
|
|
|
|
│ └── settings.py # Настройки приложения
|
|
|
|
|
|
├── main.py # Точка входа
|
|
|
|
|
|
├── requirements.txt # Зависимости
|
|
|
|
|
|
├── .env.example # Пример конфигурации
|
|
|
|
|
|
└── TZ.md # Техническое задание
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Использование
|
|
|
|
|
|
|
|
|
|
|
|
### Команды бота
|
|
|
|
|
|
|
|
|
|
|
|
- `/start` - Начать работу с ботом
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- `/level_test` - Пройти тест определения уровня
|
2025-12-04 11:09:54 +03:00
|
|
|
|
- `/add [слово]` - Добавить слово в словарь
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- `/words [тема]` - Получить тематическую подборку слов
|
|
|
|
|
|
- `/import` - Извлечь слова из текста
|
|
|
|
|
|
- `/practice` - Диалоговая практика с AI
|
2025-12-04 11:09:54 +03:00
|
|
|
|
- `/vocabulary` - Посмотреть свой словарь
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
- `/task` - Получить интерактивное задание
|
|
|
|
|
|
- `/stats` - Просмотреть статистику
|
|
|
|
|
|
- `/settings` - Настройки бота
|
|
|
|
|
|
- `/reminder` - Настроить ежедневные напоминания
|
2025-12-04 11:09:54 +03:00
|
|
|
|
- `/help` - Показать справку
|
|
|
|
|
|
|
|
|
|
|
|
### Пример использования
|
|
|
|
|
|
|
|
|
|
|
|
1. Запустите бота: `/start`
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
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)
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
## Roadmap
|
|
|
|
|
|
|
|
|
|
|
|
См. [TZ.md](TZ.md) для полного технического задания.
|
|
|
|
|
|
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
**MVP завершён! 🎉**
|
|
|
|
|
|
|
|
|
|
|
|
Все основные функции реализованы:
|
|
|
|
|
|
- [x] Ежедневные задания с разными типами упражнений
|
|
|
|
|
|
- [x] Тематические подборки слов
|
|
|
|
|
|
- [x] Импорт слов из текста
|
|
|
|
|
|
- [x] Диалоговая практика с AI
|
|
|
|
|
|
- [x] Статистика и прогресс
|
|
|
|
|
|
- [x] Spaced repetition алгоритм (базовая версия)
|
|
|
|
|
|
- [x] Напоминания и ежедневные задания по расписанию
|
2025-12-04 19:40:01 +03:00
|
|
|
|
- [x] Убрать переводы текстов (скрыть перевод в упражнениях/диалогах/тестах)
|
2025-12-04 21:37:40 +03:00
|
|
|
|
- [x] Добавлены английский и японский в локализацию интерфейса
|
|
|
|
|
|
- [x] Добавлены языки для обучения
|
2025-12-09 15:05:38 +03:00
|
|
|
|
- [x] Добавить возможность иметь словам несколько переводов
|
|
|
|
|
|
- [x] Добавить возможность импорта слов из файлов (txt, md)
|
|
|
|
|
|
- [x] Добавить импорт нескольких слов (bulk-импорт)
|
|
|
|
|
|
- [x] Добавлена механика "Слова дня"
|
|
|
|
|
|
- [x] Добавлена механика "Мини истории"
|
Добавлены основные функции 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>
2025-12-04 15:46:02 +03:00
|
|
|
|
|
|
|
|
|
|
**Следующие улучшения:**
|
|
|
|
|
|
- [ ] Экспорт словаря (PDF, Anki, CSV)
|
|
|
|
|
|
- [ ] Голосовые сообщения для практики произношения
|
|
|
|
|
|
- [ ] Групповые челленджи и лидерборды
|
|
|
|
|
|
- [ ] Gamification (стрики, достижения, уровни)
|
2025-12-04 19:40:01 +03:00
|
|
|
|
- [ ] Расширенная аналитика с графиками
|
|
|
|
|
|
- [ ] Создание задач на выбранные слова (из словаря/подборок)
|
|
|
|
|
|
- [ ] Изменить словарь: оставить только слова и добавить возможность получать инфо о словах
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
2025-12-04 14:39:23 +03:00
|
|
|
|
## Cloudflare AI Gateway (опционально)
|
|
|
|
|
|
|
|
|
|
|
|
Бот поддерживает использование [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/) для:
|
|
|
|
|
|
|
|
|
|
|
|
- 🚀 **Кэширование запросов** - экономия до 99% на повторных запросах
|
|
|
|
|
|
- 📊 **Аналитика** - детальная статистика использования AI
|
|
|
|
|
|
- 💰 **Контроль расходов** - мониторинг стоимости запросов
|
|
|
|
|
|
- 🛡️ **Безопасность** - защита API ключей и rate limiting
|
|
|
|
|
|
|
|
|
|
|
|
**Настройка:**
|
|
|
|
|
|
|
|
|
|
|
|
1. Создайте Gateway на [dash.cloudflare.com](https://dash.cloudflare.com/) → AI → AI Gateway
|
|
|
|
|
|
2. Добавьте в `.env`:
|
|
|
|
|
|
```env
|
|
|
|
|
|
CLOUDFLARE_ACCOUNT_ID=ваш_account_id
|
|
|
|
|
|
CLOUDFLARE_GATEWAY_ID=gpt
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
📖 Подробная инструкция: [docs/CLOUDFLARE_GATEWAY.md](docs/CLOUDFLARE_GATEWAY.md)
|
|
|
|
|
|
|
2025-12-04 11:09:54 +03:00
|
|
|
|
## Технологии
|
|
|
|
|
|
|
|
|
|
|
|
- **Python 3.11+**
|
|
|
|
|
|
- **aiogram 3.x** - Telegram Bot framework
|
|
|
|
|
|
- **SQLAlchemy 2.x** - ORM для работы с БД
|
|
|
|
|
|
- **PostgreSQL** - База данных
|
|
|
|
|
|
- **OpenAI API** - AI для перевода и проверки
|
2025-12-04 14:39:23 +03:00
|
|
|
|
- **Cloudflare AI Gateway** - кэширование и мониторинг AI запросов (опционально)
|
2025-12-04 11:09:54 +03:00
|
|
|
|
|
|
|
|
|
|
## Лицензия
|
|
|
|
|
|
|
2025-12-04 17:42:45 +03:00
|
|
|
|
MIT
|