Многопользовательская платформа Telegram-ботов для автоматизации работы учителя и репетитора при подготовке к ОГЭ и ЕГЭ
Подробнее о боте - Landingpage
Данный проект создан в помощь педагогам и репетиторам при подготовке их учащихся к ЕГЭ. С его помощью Telegram-бот получает функционал, обеспечивающий раздачу заданий, сбор ответов и построение статистики.
Разделы административной панели:
- Боты: добавление и настройка ботов, созданных с помощью @BotFather
- Учащиеся: управление учащимися
- Контент: добавление категорий и заданий и управление ими
- Статистика: статистика по категориям, заданиям и ученикам за различные временные промежутки
- Рейтинг: рейтинг учащихся
Добавленный и настроенный бот рассылает задания по настроенному учителем расписанию. Задание для рассылки выбирается случайно из активных категорий.
Server: Python 3.10, Django 4.1
По ssh зайти в домашнюю папку вашего сайта. В домашней папке вашего сайта (папка должна быть пуста):
git clone git@github.com:afoninsb/tutorbot.git ./
python3 -3.10 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Переименовать файл tutor_bot/.env.dist в tutor_bot/.env
В файле tutor_bot/.env:
# Код Django
SECRET_KEY=django-injrtyuygecure-k%yu756#j@g+t636456454y4yeqfu&yfso4!ci%s_&3mg5p
# Telegram ID Суперадмина
BIG_BOSS_ID=337470404
# Токен регистрационного бота
REGBOT_TOKEN=5963756302:AAGU7Esfy45tgwyrtj7srttEnumUctgjI
# Токен регистрационного бота для разработки
TEMP_REGBOT_TOKEN=5962239353:seghfasbf764gtfwvywagyubgutGYGFCluggtlT
# параметры подключения к базе данных
BD_NAME=bd_name
BD_USER=user_login_bd
BD_PASSWORD=bd_password
BD_HOST=localhost
# DEBUG - в разработке или в продакшене?
DEBUG=False
# NGROK - адрес для подключения локального бота через NGROK
NGROK=bflist6yilgfegfligi.ngrok.io
# Параметры подключения к sentry.io
SENTRY_DSN=https://34asdjfh34tr3qgtfo8tyg2dtlqgf72t3lf82976.ingest.sentry.io/4765764653523696
Переименовать файл tutor_bot/tutor_bot/settings.py.template в tutor_bot/tutor_bot/settings.py
В файле tutor_bot/tutor_bot/settings.py:
# URL вашего сайта
ALLOWED_HOSTS = ['your_cite.com']
BASE_URL = 'https://your_cite.com'
# Количество оставшихся задач, меньше которого срабатывает алерт
ALERT_MIN_TASKS = 10
# Количество дней до окончания тарифа, чтобы выдать алерт
ALERT_END_TARIF = 3
# Количество учащихся в бесплатном тарифе = Количество учащихся + Сам админ-учитель (3+1=4 - 3 учащихся)
STUDENT_FREE_TARIF = 4
cd tutor_bot
python3 manage.py migrate
python3 manage.py collectstatic
python3 manage.py createsuperuser
Настроить файл tutor_bot/cron/cron.py на ежечасный запуск.
- Создать регистрационного бота с помощью с помощью @BotFather. Этот бот будет использоваться для регистрации преподавателей в системе.
- Войти в этот бот и написать ему что-либо
- Прописать его токен в файле tutor_bot/.env
- Перезапустить сервер
- Информацию о контенте системы можно наблюдать в админке Django https://your_site.com/admin
- Зайти в ваш адмнистративный бот в Telegram и написать боту какое-либо сообщение
- Пройти регистрацию
- Суперадмину в этот бот придёт оповещение. Необходимо одобрить или отказать. Если одобрить, то учитель становится администратором бота на сайте
- Нажать на кнопку клавиатуры "Войти в административную панель"
- Создать рабочего бота с помощью с помощью @BotFather
- В разделе Боты добавить его на сайте
- Настроить расписание работы бота, его пароль и параметры работы
- Добавить контент - категории и задания
- Пригласить учащихся в рабочий бот
- Запустить категории и бота, чтобы он начал выдавать задания
- Войти в бот, указанный учителем
- Написать ему что-либо
- Пройти регистрацию
- Учитель в административной панели одобрит ученика
- Получать задания и давать правильные ответы