Files
tg_bot_language/README.md
mamonov.ep 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

207 lines
6.3 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.
# Telegram Бот для изучения языков
Интеллектуальный Telegram бот для изучения английского языка с использованием AI.
## Возможности
- 📚 Управление словарным запасом с автоматическим переводом через AI
- ✍️ Ежедневные задания для практики (в разработке)
- 💬 Диалоговая практика с ИИ (в разработке)
- 📊 Статистика прогресса (в разработке)
## Текущая версия (MVP)
**Реализовано:**
- ✅ Команда `/start` - приветствие и регистрация пользователя
- ✅ Команда `/add [слово]` - добавление слов в словарь с AI-переводом
- ✅ Команда `/vocabulary` - просмотр словаря
- ✅ Команда `/help` - справка
- ✅ База данных (PostgreSQL) для хранения пользователей и словарей
- ✅ Интеграция с OpenAI API для перевода слов
## Установка и запуск
### 🐳 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)
---
### Локальная установка
#### Автоматическая установка (рекомендуется)
```bash
# Клонировать репозиторий
git clone http://103.137.249.134:3000/NANDI/tg_bot_language.git
cd tg_bot_language
# Запустить скрипт установки
./setup.sh
# Отредактировать .env и добавить токены
nano .env
# Активировать виртуальное окружение
source .venv/bin/activate
# Запустить бота
python main.py
```
#### Использование Makefile
```bash
# Установить всё
make install
# Запустить бота
make run
# Показать все команды
make help
```
#### Ручная установка
**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
```
**4. Настройка окружения**
```bash
cp .env.example .env
nano .env # или любой редактор
```
Заполните необходимые параметры:
```env
BOT_TOKEN=your_telegram_bot_token_here
OPENAI_API_KEY=your_openai_api_key_here
DATABASE_URL=postgresql+asyncpg://botuser:botpassword@localhost:5432/language_bot
DEBUG=True
```
**Получение токенов:**
- Telegram Bot Token: создайте бота через [@BotFather](https://t.me/BotFather)
- OpenAI API Key: получите на [platform.openai.com](https://platform.openai.com/api-keys)
### 4. Настройка базы данных
Создайте PostgreSQL базу данных:
```bash
createdb language_bot
```
Или используйте Docker:
```bash
docker run --name language-bot-db -e POSTGRES_PASSWORD=password -e POSTGRES_DB=language_bot -p 5432:5432 -d postgres:15
```
### 5. Запуск бота
```bash
python main.py
```
## Структура проекта
```
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` - Начать работу с ботом
- `/add [слово]` - Добавить слово в словарь
- `/vocabulary` - Посмотреть свой словарь
- `/help` - Показать справку
### Пример использования
1. Запустите бота: `/start`
2. Добавьте слово: `/add elephant`
3. Бот переведёт слово через AI и предложит добавить в словарь
4. Подтвердите добавление
5. Просмотрите словарь: `/vocabulary`
## Roadmap
См. [TZ.md](TZ.md) для полного технического задания.
**Следующие этапы:**
- [ ] Ежедневные задания с разными типами упражнений
- [ ] Тематические подборки слов
- [ ] Импорт слов из текста
- [ ] Диалоговая практика с AI
- [ ] Статистика и прогресс
- [ ] Spaced repetition алгоритм
## Технологии
- **Python 3.11+**
- **aiogram 3.x** - Telegram Bot framework
- **SQLAlchemy 2.x** - ORM для работы с БД
- **PostgreSQL** - База данных
- **OpenAI API** - AI для перевода и проверки
## Лицензия
MIT