Andryss / HomeworkBot

Telegram bot for managing homeworks of a group

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Homework Bot

жабка в очках

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.

Использование

Для запуска бота потребуется:

  1. Создать телеграм бота при помощи BotFather
  2. Docker (>=24.0.2)
  3. Docker Compose (>=2.19.1)

Запуск:

  1. Создать файл .env и заполнить его по примеру .env.example своими данными
  2. Запустить бота командой docker-compose up

About

Telegram bot for managing homeworks of a group


Languages

Language:Java 99.9%Language:Dockerfile 0.1%