Бот для просмотра домашних заданий из электронного дневника authedu.mosreg.ru.
- Python 3.11+
- Docker (опционально)
git clone <repository-url>
cd EduCopyСоздайте файл .env на основе .env.example:
cp .env.example .envЗаполните файл .env:
# Telegram Bot
TG_BOT_TOKEN=123456789:ABCdefGHIjklMNOpqrsTUVwxyz
ALLOWED_USER_ID=123456789
# Authedu API
AUTHEDU_BEARER=eyJhbGciOiJSUzI1NiIs...
STUDENT_ID=12345678
PROFILE_ID=12345678
PROFILE_TYPE=student
X_MES_SUBSYSTEM=familyweb
AUTHEDU_COOKIE=
# Прочее
TIMEZONE=Europe/MoscowПолучение токенов:
TG_BOT_TOKEN— создайте бота через @BotFatherALLOWED_USER_ID— ваш Telegram ID (можно узнать через @userinfobot)AUTHEDU_BEARER,STUDENT_ID,PROFILE_ID— получите из личного кабинета authedu.mosreg.ru (через инструменты разработчика в браузере)
docker-compose up -d --buildУстановите зависимости:
pip install -r requirements.txtЗапустите бота:
python main.py/start— начать работу с ботом/admin— управление ключами доступа (только для создателя)
Через кнопки:
- «Сегодня» — ДЗ на сегодня
- «Завтра» — ДЗ на завтра
- «Неделя» — ДЗ на 7 дней вперёд
- «Выбрать дату» — ввод даты вручную
Через ввод даты в чат:
| Формат | Пример | Описание |
|---|---|---|
ДД.ММ.ГГГГ |
25.12.2025 |
ДЗ на конкретную дату |
ГГГГ-ММ-ДД |
2025-12-25 |
ДЗ на конкретную дату (ISO) |
ДД.ММ-ДД.ММ |
25.02-28.02 |
ДЗ с 25 по 28 февраля |
ДД-ДД |
25-28 |
ДЗ с 25 по 28 число текущего месяца |
| Перечисление | 25,26,27,28 |
ДЗ за перечисленные дни |
Бот работает по ключам доступа. Создатель может генерировать ключи через команду /admin и выдавать их другим пользователям.
EduCopy/
├── main.py # Точка входа
├── app/
│ ├── config.py # Конфигурация
│ ├── database/
│ │ ├── engine.py # Движок БД (SQLite + SQLAlchemy)
│ │ └── models.py # Модели данных (User, AccessKey)
│ ├── handlers/
│ │ ├── homework.py # Обработчики команд
│ │ └── admin.py # Админ-панель
│ ├── keyboards/
│ │ └── inline.py # Inline-клавиатуры
│ ├── middlewares/
│ │ └── database.py # Middleware для сессии БД
│ ├── services/
│ │ ├── authedu_client.py # API клиент
│ │ └── storage.py # Хранение данных (SQLite)
│ └── utils/
│ └── formatting.py # Форматирование вывода
├── data.db # SQLite база данных
├── .env # Переменные окружения
├── docker-compose.yml # Docker Compose
└── requirements.txt # Зависимости Python
Проект находится в стадии бета-тестирования.