Telegram бот для сдачи домашних работ.
Может быть использован старостой группы для создания домашних работ. Остальные участники группы могут загружать свои решения.
Староста может получить архив полученных решений.
-
Регистрация пользователя
Пользователь вводит свое ФИО, так будут подписаны сданные им работы.
-
Создание домашней работы
Староста создает тему домашней работы для сдачи участниками группы.
-
Получение списка несданных работ
Участник группы может получить список домашних работ, ожидающих решения.
-
Загрузка решения
Участник группы загружает свое решение домашнего задания. Решение может включать в себя один файл любого формата или группу объектов, которые в результате конвертируются в один pdf-документ. Поддерживаемые форматы для конвертации: pdf или docx документ, jpeg или png фотография, текстовое сообщение (до 4096 символов). Загруженные объекты будут конвертированы и объединены в один документ - решение домашнего задания.
-
Получения архива с решениями
Староста может получить zip-архив решений одного домашнего задания или сразу всех. Все работы в архиве будут подписаны указанными ФИО.
Команда | Описание |
---|---|
/help |
Вывести список всех команд. |
/start |
Зарегистрировать (переименовать) пользователя. Так будут подписаны его решения. |
/whoami |
Вывести информацию о пользователе (ФИО, указанное при регистрации). |
/createtopic |
Создать тему домашнего задания для сдачи (для старосты). |
/listtopics |
Получить список всех тем домашних заданий. |
/removetopic |
Удалить созданное ранее домашнее задание (для старосты). |
/listunsolved |
Получить список нерешенных домашних заданий. |
/uploadsolution |
Загрузить решение домашнего задания. |
/dumptopic |
Получить выгрузку всех решений одного домашнего задания (для старосты). |
/dumpsolutions |
Получить сгруппированную выгрузку всех сданных домашних заданий (для старосты). |
Основные настраиваемые параметры находятся в файле переменных окружения .env.example:
HB_BOT_API_TOKEN
- API токен ботаHB_LEADERS_USERNAMES
- имена пользователей, являющихся старостами (например, "user1,user2"). Может быть пустым
Также можно изменить параметры по умолчанию в файле свойств application.properties.
Для запуска бота потребуется:
- Создать телеграм бота при помощи BotFather
- Docker (>=24.0.2)
- Docker Compose (>=2.19.1)
Запуск:
- Создать файл
.env
и заполнить его по примеру.env.example
своими данными - Запустить бота командой
docker-compose up