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

5.4 KiB
Raw Blame History

Telegram Бот для изучения языков

Интеллектуальный Telegram бот для изучения английского языка с использованием AI.

Возможности

  • 📚 Управление словарным запасом с автоматическим переводом через AI
  • ✍️ Ежедневные задания для практики (в разработке)
  • 💬 Диалоговая практика с ИИ (в разработке)
  • 📊 Статистика прогресса (в разработке)

Текущая версия (MVP)

Реализовано:

  • Команда /start - приветствие и регистрация пользователя
  • Команда /add [слово] - добавление слов в словарь с AI-переводом
  • Команда /vocabulary - просмотр словаря
  • Команда /help - справка
  • База данных (PostgreSQL) для хранения пользователей и словарей
  • Интеграция с OpenAI API для перевода слов

Установка и запуск

🐳 Docker Compose (рекомендуется)

# Клонировать репозиторий
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


Локальная установка

1. Клонирование репозитория

git clone http://103.137.249.134:3000/NANDI/tg_bot_language.git
cd tg_bot_language

2. Установка зависимостей

pip install -r requirements.txt

3. Настройка окружения

Скопируйте .env.example в .env:

cp .env.example .env

Отредактируйте .env и заполните необходимые параметры:

BOT_TOKEN=your_telegram_bot_token_here
OPENAI_API_KEY=your_openai_api_key_here
DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/language_bot
DEBUG=True

Получение токенов:

4. Настройка базы данных

Создайте PostgreSQL базу данных:

createdb language_bot

Или используйте Docker:

docker run --name language-bot-db -e POSTGRES_PASSWORD=password -e POSTGRES_DB=language_bot -p 5432:5432 -d postgres:15

5. Запуск бота

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 для полного технического задания.

Следующие этапы:

  • Ежедневные задания с разными типами упражнений
  • Тематические подборки слов
  • Импорт слов из текста
  • Диалоговая практика с AI
  • Статистика и прогресс
  • Spaced repetition алгоритм

Технологии

  • Python 3.11+
  • aiogram 3.x - Telegram Bot framework
  • SQLAlchemy 2.x - ORM для работы с БД
  • PostgreSQL - База данных
  • OpenAI API - AI для перевода и проверки

Лицензия

MIT