С помощью этого бота вы можете посмотреть расписание любой группы, преподавателя или аудитории в КИТиС! Вы можете найти рабочую версию бота здесь: t.me/kitis_schedule_bot
Для начала выберите свою группу с помощью /group
, а после используйте /schedule
для просмотра расписания своей группы.
Если вам нужно посмотреть расписание другой группы, преподавателя или аудитории, используйте /scheduleby
.
Перед установкой бота на сервер нужно создать его в телеграме. Для этого откройте Bot Father, используйте /newbot
и следуйте инструкции. После создания нужно добавить команды на панель. Используйте /mybots
, выберите своего бота, Edit Bot, Edit Commands и вставьте в сообщение следующее (измените описание по желанию):
schedule - Посмотреть расписание на текущую неделю
scheduleby - Посмотреть расписание, выбрав источник (группы, преподаватели, аудитории)
group - Выбрать группу для показа расписания
ping - Проверить состояние работы бота и сайта
ВНИМАНИЕ: для работы бота требуется python 3.12 или выше!
Чтобы установить бота на свой сервер (Ubuntu 24) используйте эти команды:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git
git clone https://github.com/mifizz/kitis_schedule_bot
cd kitis_schedule_bot
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Заметьте, что команда source venv/bin/activate
может отличаться в зависимости от вашего терминала (bash, fish, zsh, т.д.).
Создайте файл private.py
, вставьте туда токен бота (BotFather, бот, API Token) в формате:
TOKEN = "ВАШ_ТОКЕН"
Для запуска из виртуальной среды используйте python3 bot.py
. После первого запуска будет создан базовый конфиг, который можно изменить (например, добавить админов бота) и перезапустить бота.
Чтобы запустить бота на постоянной основе, рекомендую создать systemd сервис.
Бот может использовать вебхук вместо поллинга для более стабильной (нет) работы. Для запуска в режиме вебхука измените mode
на "webhook"
и links.webhook
на "https://ВАШСАЙТ/kitisbot_webhook"
. После этого в виртуальной среде python установите пакет waitress с помощью pip install waitress
. В конфиге nginx в server пропишите:
location /kitisbot_webhook {
proxy_pass http://127.0.0.1:8443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
После этого перезагрузите nginx и из виртуальной среды бота запустите бота с помощью waitress-serve --host 0.0.0.0 --port 8443 bot:app
.
Для запуска на постоянной основе вы всё также можете использовать systemd сервис.