Skip to content

mifizz/kitis_schedule_bot

Repository files navigation

Бот расписания КИТиС

С помощью этого бота вы можете посмотреть расписание любой группы, преподавателя или аудитории в КИТиС! Вы можете найти рабочую версию бота здесь: 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 сервис.

About

See schedule for any КИТиС group in telegram bot

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages