Телеграм-бот для удобного управления очередями на лабы в ИТМО.
» Попробовать бота «
ITMO.Queue — это многофункциональный Телеграм-бот, созданный для студентов Университета ИТМО. Его главная задача — упростить и автоматизировать процесс записи и управления очередями на сдачу лабораторных работ.
- Быстрая запись: Записывайтесь в очередь на сдачу лабораторной работы в пару кликов.
- Управление очередью: Отмечайтесь как "сдавший", выходите из очереди или записывайтесь повторно для пересдачи.
- Персонализация: Установите уникальный никнейм, который будет виден всем участникам.
- Просмотр в реальном времени: Отслеживайте свое место в очереди через сообщения бота или на специальной веб-странице.
- Гибкое управление: Создавайте и редактируйте учебные предметы и лабораторные работы прямо в личном чате с ботом.
- Общая очередь: Бот автоматически формирует общую очередь по предмету, объединяя очереди по отдельным лабораторным.
- Интеграция с группами: Управляйте очередями в общих чатах и супергруппах, назначая основной топик для уведомлений.
- Учет попыток: Настройте бота так, чтобы он запрашивал у студентов номер попытки сдачи (в общем чате или ЛС).
- Кастомизация:
- 3 алгоритма для формирования очередей на лабораторные работы (при включенном учете попыток).
- 4 алгоритма для формирования общей очереди по предмету.
- И множество других полезных функций, делающих работу с очередями максимально удобной!
Вот основные команды для взаимодействия с ботом.
/group— Показывает меню этого чата./labs— Отображает список доступных лабораторных работ./subjects— Отображает список доступных предметов./cancel— Отменяет текущее действие (например, ввод названия).
/start— Запускает бота и показывает приветственное сообщение./group— Управление вашими группами./labs— Просмотр информации о лабораторных, в очередях на которые вы стоите./name— Позволяет изменить ваш никнейм./cancel— Отменяет текущее действие.
| Компонент | Технология |
|---|---|
| Бэкенд | Kotlin, Spring Boot, Spring Data JPA |
| База данных | MariaDB (по умолчанию) |
| Telegram API | TelegramBots |
| Веб-интерфейс | Thymeleaf |
- Java Development Kit (JDK) 21 или новее.
- Рабочий сервер базы данных (например, MariaDB или PostgreSQL).
- Токен Телеграм-бота, полученный у @BotFather.
-
Клонируйте репозиторий:
git clone https://github.com/alllexey123/ITMO.Queue.git cd ITMO.Queue -
Настройте переменные окружения: Для конфигурации приложения создайте файл
.envв корне проекта или настройте переменные в вашей среде исполнения.DB_URL: Полный URL для подключения к БД.- Пример:
jdbc:mariadb://localhost:3306/itmo_queue
- Пример:
DB_USER: Имя пользователя БД.DB_PASSWORD: Пароль пользователя БД.TG_TOKEN: Токен вашего Телеграм-бота.SELF_ORIGIN: Публичный URL вашего сервера (необходим для генерации ссылок на веб-страницы очередей).- Пример:
https://my.queue-bot.com
- Пример:
Проект можно запустить с помощью встроенной задачи Gradle:
./gradlew bootRunПосле запуска бот будет готов к работе в Telegram.