Telegram бот для бронирования спортивных занятий в ITMO
Kot-Booking — это умный Telegram бот, который помогает студентам ITMO бронировать спортивные занятия. Бот интегрируется с внутренней системой университета и позволяет:
- 🏃♂️ Просматривать доступные занятия
- 📅 Бронировать места на тренировки
- 📋 Отслеживать свои бронирования
- ❌ Отменять бронирования
- 🔄 Автоматически записываться в очередь при отсутствии мест
- JDK 17+
- Gradle 8.5+
- SQLite (встроен в приложение)
git clone https://github.com/BrightGir/itmo-booking-bot
cd kot-bookingСоздайте .env файл или установите переменные окружения:
# Токен Telegram бота (получить у @BotFather)
export BOT_TOKEN="your_telegram_bot_token"
# Ключ шифрования токенов (минимум 32 символа)
export ENCRYPTION_KEY="your-super-secret-encryption-key-here"
export DATASOURCE_URL="jdbc:sqlite:/data/kot-booking.db"
docker compose up --buildБот управляется с помощью простых команд. Вот основные из них:
| Команда | Описание | Пример использования |
|---|---|---|
/start |
Запуск бота и отображение приветственного сообщения. | /start |
/login |
Авторизация в системе my.itmo | /login itmo_student@mail.ru your_password |
/logout |
Выход из системы. | /logout |
/show |
Показывает список доступных занятий. Можно использовать ключевые слова для поиска. | /show /show плавание /show Кронверкский |
/bookings |
Отображает все ваши активные бронирования с возможностью их отмены. | /bookings |
/book |
Забронировать место или записаться | /book 43243 |
/delbook |
Отменить бронирование | /delbook 43243 |
Проект разделен на два модуля:
- Базовый фреймворк для создания Telegram ботов с функцией бронирования.
- Включает в себя обработку команд и callback'ов, управление состоянием пользователей, пагинацию, локализацию и общую конфигурацию.
- Конкретная реализация логики для системы бронирования ИТМО.
- Отвечает за интеграцию с API ИТМО, процессы аутентификации, управление бронированиями и логику автозаписи.
Этот проект распространяется под лицензией MIT License.
Этот бот является неофициальным сторонним проектом и не имеет отношения к администрации, студенческому совету или IT-отделу ИТМО.
- Использование на свой риск: Бот взаимодействует с непубличным API ИТМО. Автор не несет ответственности за любые последствия, включая, но не ограничиваясь:
- Сбои в бронировании или его отмене.
- Временную или постоянную блокировку вашего аккаунта ИТМО.
- Любой ущерб, вызванный изменениями в API или неверной работой бота.
- Отсутствие гарантий: Проект предоставляется "КАК ЕСТЬ" (AS IS), без каких-либо гарантий работоспособности.
Используйте этот инструмент осознанно.