Commit Graph

20 Commits

Author SHA1 Message Date
1898e8fceb docs(ROADMAP): добавить пункт — убрать переводы текстов (скрыть перевод в упражнениях/диалогах) 2025-12-04 17:42:45 +03:00
fbdd339eb1 feat(start): человекочитаемые кнопки главного меню и обработчики\n\n- Добавлена постоянная клавиатура с удобными подписями (эмодзи)\n- Добавлен /menu для показа клавиатуры в любой момент\n- Реализованы обработчики нажатий по тексту кнопок: /add, /vocabulary, /task, /practice, /import, /stats, /settings\n- Добавлены быстрые темы для тематических слов (inline) и обработчик их выбора 2025-12-04 17:22:50 +03:00
c009b28843 fix(start): resolve SyntaxError by moving main_menu_keyboard above handlers and fixing skip_level_test text 2025-12-04 17:17:31 +03:00
ff17dc543a feat(start): add persistent reply keyboard with main commands; add /menu to show it\nchore(bot): register BotCommand list for Telegram menu 2025-12-04 17:15:49 +03:00
f8a5294ca8 фикс композера 2025-12-04 16:51:26 +03:00
d48e3ff952 123 2025-12-04 16:45:03 +03:00
cf8f71e24a fix(tasks): handle next_task by resetting FSM to doing_tasks; add stop/cancel controls and stop button\n\nfix(words/import): pass user level into VocabularyService.add_word via difficulty_level; rename incorrect 'difficulty' arg to 'difficulty_level' 2025-12-04 16:44:16 +03:00
80f248770a Исправлена регистрация нового пользователя и добавлены недостающие зависимости
Изменения:
- Исправлена логика определения нового пользователя (проверка до создания)
- Добавлены все команды в приветственное сообщение (включая /import, /reminder, /level_test)
- Обновлена справка /help с добавлением /level_test
- Улучшено сообщение для существующих пользователей
- Добавлены переменные окружения postgres_* в settings.py для Docker
- Добавлен greenlet==3.1.1 в requirements.txt для работы SQLAlchemy async

Теперь новые пользователи правильно получают предложение пройти тест уровня при первом запуске.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 16:00:38 +03:00
72a63eeda5 Добавлены основные функции 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
2c51fa19b6 Обновлен README - добавлена информация о /settings и новых типах заданий 2025-12-04 14:47:07 +03:00
44f4f61fce Реализованы настройки пользователя и новые типы заданий
Создано:
- bot/handlers/settings.py - обработчик команды /settings

Реализовано:
 /settings - настройки пользователя
  - Выбор уровня английского (A1-C2)
  - Выбор языка интерфейса (RU/EN)
  - Интерактивные inline-кнопки

 Новый тип заданий - заполнение пропусков
  - AI генерирует предложение с пропуском
  - Показывает перевод для контекста
  - Проверка ответа через AI

 Смешанные задания
  - Случайное чередование типов (переводы + fill-in)
  - Более разнообразная практика

Изменено:
- services/ai_service.py - метод generate_fill_in_sentence()
- services/task_service.py - метод generate_mixed_tasks()
- services/user_service.py - методы обновления настроек
- bot/handlers/tasks.py - использование смешанных заданий
- main.py - регистрация роутера настроек

Теперь бот предлагает:
- Перевод EN→RU
- Перевод RU→EN
- Заполнение пропусков в предложениях

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 14:46:30 +03:00
dab1953888 Добавлена поддержка Cloudflare AI Gateway
Изменено:
- services/ai_service.py - автоматическое использование Cloudflare Gateway
- config/settings.py - настройки CLOUDFLARE_ACCOUNT_ID и CLOUDFLARE_GATEWAY_ID
- .env.example - добавлены переменные Cloudflare
- README.md - секция о Cloudflare AI Gateway

Создано:
- docs/CLOUDFLARE_GATEWAY.md - подробная документация

Преимущества:
🚀 Кэширование запросов - экономия до 99% на повторных запросах
📊 Аналитика - детальная статистика использования AI
💰 Контроль расходов - мониторинг стоимости
🛡️ Безопасность - защита API ключей и rate limiting

Использование:
1. Создать Gateway на dash.cloudflare.com
2. Добавить CLOUDFLARE_ACCOUNT_ID в .env
3. Все запросы автоматически пойдут через Cloudflare

Для отключения оставьте CLOUDFLARE_ACCOUNT_ID пустым.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 14:39:23 +03:00
ca5b45117f Обновлен README - добавлена информация о /task и /stats 2025-12-04 14:34:13 +03:00
dfbd2f53fd Реализованы задания и статистика (/task, /stats)
Создано:
- services/task_service.py - сервис для работы с заданиями
- bot/handlers/tasks.py - обработчики команд /task и /stats

Реализовано:
 /task - генерация заданий на перевод слов
  - 5 случайных слов из словаря пользователя
  - Два направления: EN→RU и RU→EN
  - Показ транскрипции
  - Проверка ответов через AI
  - Детальная обратная связь
  - Сохранение результатов в БД

 /stats - статистика обучения
  - Количество слов в словаре
  - Количество изученных слов
  - Выполненные задания
  - Процент правильных ответов

Функции:
- Умные повторения (слова с меньшим количеством повторений появляются чаще)
- Обновление статистики слов после каждого задания
- Прогресс-бар выполнения заданий
- Эмодзи-реакции на результат

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 14:30:06 +03:00
6e735a2eab Добавлена возможность запуска только БД для локальной разработки
Создано:
- docker-compose.dev.yml - конфигурация только для PostgreSQL
- make docker-db - команда для запуска только БД на порту 15433
- make docker-db-stop - остановка БД

Изменено:
- Makefile - добавлены команды для работы с БД
- README.md - инструкции по запуску БД
- .env.example - обновлен порт БД на 15433

Использование:
make docker-db - запустить PostgreSQL на localhost:15433
make run - запустить бота локально с подключением к БД

Порт 15433 выбран чтобы избежать конфликтов с другими PostgreSQL.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:55:51 +03:00
253f557bd1 Добавлена поддержка виртуального окружения и автоматизация
Создано:
- Makefile - команды для управления проектом
- setup.sh - автоматическая установка и настройка
- Виртуальное окружение .venv

Изменено:
- requirements.txt - исправлена версия pydantic для совместимости
- README.md - добавлены инструкции по установке через venv

Команды Makefile:
- make install - установка зависимостей
- make run - запуск бота
- make docker-up - запуск через Docker
- make clean - очистка venv и кэша

Быстрый старт: ./setup.sh

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:23:48 +03:00
f7847226d0 Добавлен Docker Compose для простого развёртывания
Создано:
- Dockerfile для контейнеризации бота
- docker-compose.yml с сервисами bot и db
- .dockerignore для оптимизации образа
- README_DOCKER.md с подробной документацией

Изменено:
- README.md - добавлена секция Docker
- .env.example - добавлены переменные PostgreSQL

Теперь бот можно запустить одной командой:
docker-compose up -d

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:16:14 +03:00
1a02c979d0 Реализован MVP телеграм бота для изучения языков
Основные компоненты:
- База данных (PostgreSQL) с моделями User, Vocabulary, Task
- Интеграция с OpenAI API для перевода слов
- Команды: /start, /add, /vocabulary, /help
- Сервисы для работы с пользователями, словарем и AI

Реализовано:
 Регистрация и приветствие пользователя
 Добавление слов в словарь с автоматическим переводом
 Просмотр личного словаря
 Архитектура проекта с разделением на слои

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 11:09:54 +03:00
df9f9f3d4d Добавлено техническое задание для Telegram бота по изучению языков
- Описание основных функций и архитектуры
- 5 способов добавления слов в словарь
- Структура базы данных
- Этапы разработки

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 10:54:59 +03:00
bda8d5edf4 Initial commit 2025-12-04 07:49:51 +00:00