Этот Telegram-бот предназначен для изучения английского языка. Он позволяет пользователям добавлять свои слова, использовать готовые наборы слов (паки), запускать тренировки в любое время и автоматически проводить ежедневные тренировки по расписанию. Суть тренировки заключается в том, что бот отправляет английские слова, а пользователь должен отправить их перевод.
- Добавление своих слов: Пользователь может добавлять свои слова и их переводы для изучения.
- Добавление паков слов: Пользователь может добавлять готовые наборы слов (паки) для изучения.
- Запуск тренировки в любой момент: Пользователь может запустить тренировку в любое время, чтобы проверить свои знания.
- Ежедневные тренировки по расписанию: Бот автоматически проводит тренировки раз в день, чтобы помочь пользователю регулярно повторять слова.
- C# 12
- .NET 8
- Telegram.Bot (библиотека для работы с Telegram API)
- MongoDB (база данных для хранения слов и пользовательских данных)
- EntityFrameworkCore (ORM для работы с базой данных)
Проект построен по архитектуре DDD (Domain-Driven Design) и разделен на несколько подпроектов:
- DDD.Domain: Содержит доменные модели и бизнес-логику.
- DDD.Infrastructure: Реализация инфраструктурных сервисов, таких как работа с базой данных.
- DDD.Models: Модели данных, используемые в проекте.
- DDD.Presentation: Слой представления, включающий Telegram-бота и обработчики команд.
- SchedulerService: Сервис для планирования и выполнения ежедневных тренировок.
-
Установите Docker и Docker Compose:
- Убедитесь, что у вас установлены Docker и Docker Compose. Если нет, следуйте официальной документации для установки:
-
Клонируйте репозиторий:
git clone https://github.com/your-repository/english-learning-bot.git cd english-learning-bot
-
Создайте файл
.env
: В корне проекта создайте файл.env
и заполните его необходимыми переменными окружения:TELEGRAM_BOT_TOKEN=your_telegram_bot_token MONGODB_CONNECTION_STRING=mongodb://mongo:27017 MONGODB_DATABASE_NAME=english_learning_db
-
Запустите проект с помощью Docker Compose:
docker-compose up --build
Эта команда соберет и запустит все необходимые сервисы, включая MongoDB и Telegram-бота.
-
Проверка работы: После успешного запуска, бот будет доступен в Telegram. Вы можете начать добавлять слова и запускать тренировки.
Если вы хотите запустить проект без Docker, выполните следующие шаги:
-
Установите .NET 8 SDK:
- Скачайте и установите .NET 8 SDK с официального сайта.
-
Установите MongoDB:
- Установите MongoDB на вашу машину, следуя официальной документации.
-
Настройте подключение к MongoDB:
- В файле
appsettings.json
укажите строку подключения к вашей базе данных MongoDB.
- В файле
-
Запустите проект:
-
Перейдите в папку
DDD.Presentation
и выполните команду:dotnet run
-
Перейдите в папку
SchedulerService
и выполните команду:dotnet run
-
-
Проверка работы: После запуска, бот будет доступен в Telegram. Вы можете начать добавлять слова и запускать тренировки.
Этот проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.