Telegram-бот для изучения английского языка с интерактивной тренировкой и алгоритмом интервального повторения (SRS).
Примечание: Это индивидуальный бот - каждый устанавливает его для себя.
- 📝 Добавление слов и фраз с транскрипцией и темами
- ✏️ Редактирование и удаление добавленных слов
- 🎯 Интерактивная тренировка с выбором вариантов ответа
- 🔔 Просмотр случайных слов (5 слов по запросу)
- 📊 Статистика обучения
- 🧠 Алгоритм интервального повторения (SRS)
- 📄 Пагинация списков слов
git clone <your-repo-url>
cd learning_en_bot# Используя uv (рекомендуется)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
# Или используя pip
pip install -e .cat > .env << EOF
TELEGRAM_TOKEN=твой_токен_от_BotFather
EOFГде взять токен:
- Открой Telegram и найди @BotFather
- Отправь
/newbotи следуй инструкциям - Скопируй полученный токен в
.env
# С uv
uv run python -m src.learning_en_bot.main
# Или с pip
python -m src.learning_en_bot.mainГотово! 🎉 Бот запущен.
- Найди своего бота в Telegram (имя из BotFather)
- Нажми
/start - Добавь слова:
cat - котилиhello - привет - həˈləʊ - Добавь фразы:
a black cat - чёрная кошкаилиbreak a leg - удачи! #idioms - Редактируй: ✏️ Редактировать → введи слово для поиска → выбери из результатов
- Просматривай: 📖 Мои слова (список по 50 слов на страницу)
- Тренируйся: 🎯 Тренировка
- Повторяй: 🔔 Напоминания (5 случайных слов)
Полная инструкция: См. DEPLOY.md
Быстрый старт:
- Клонируй на сервер:
git clone <repo> && cd learning_en_bot - Создай
.env:echo "TELEGRAM_TOKEN=токен\nALLOWED_USER_ID=твой_id" > .env - Запусти с Docker:
docker-compose up -d
Или без Docker:
python3.11 -m venv venv && source venv/bin/activate
pip install -e .
screen -S bot
python -m src.learning_en_bot.mainЧтобы только ты мог пользоваться ботом:
- Узнай свой Telegram User ID: напиши @userinfobot
- Добавь в
.env:ALLOWED_USER_ID=твой_id - Бот будет доступен только тебе!
Без ALLOWED_USER_ID - бот публичный (доступен всем).
learning_en_bot/
├── src/learning_en_bot/
│ ├── handlers/ # Обработчики команд
│ ├── services/ # Бизнес-логика (SRS, Quiz)
│ ├── utils/ # Утилиты (пагинация)
│ └── main.py # Точка входа
├── data/ # База данных (создаётся автоматически)
└── .env # Токен бота (создай сам)
Бот не отвечает:
- Проверь, что
TELEGRAM_TOKENправильный в.env - Убедись, что бот запущен (нет ошибок в консоли)
Ошибки при установке:
- Нужен Python 3.11+
- Проверь:
python3 --version
| Переменная | Обязательная | По умолчанию | Описание |
|---|---|---|---|
TELEGRAM_TOKEN |
✅ Да | - | Токен бота от @BotFather |
Остальные настройки опциональны и имеют разумные значения по умолчанию.
- Ревью кода: См.
FINAL_CODE_REVIEW.md(внутренний документ) - Тесты:
pytest tests/(требует pytest:pip install pytest)
MIT License