Skip to content

volvetcode/unn_slot_catcher

Repository files navigation

unn_slot_catcher

Бот для отслеживания свободных слотов к психологам на сайте ННГУ: https://psys.unn.ru/login

Когда бот находит слот у выбранного психолога, он отправляет уведомление в Telegram.

Что нужно

  • Python 3.12+ и uv
  • Google Chrome и chromedriver
  • Токен Telegram бота и ID чата с вами

Установка

  1. Склонируйте проект:
git clone git@github.com:volvetcode/unn_slot_catcher.git
cd unn_slot_catcher
  1. Установите uv, если он еще не установлен:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Скачайте ChromeDriver под вашу версию Chrome: https://googlechromelabs.github.io/chrome-for-testing/

  2. Положите бинарник ChromeDriver в папку drivers/:

mkdir -p drivers logs

Ожидаемый путь по умолчанию:

drivers/chromedriver
  1. Создайте .env на основе dotenv_example.txt:
cp dotenv_example.txt .env
  1. Заполните обязательные значения в .env:
LOGIN=your_unn_login
PASSWORD=your_unn_password

TELEGRAM_TOKEN=your_telegram_bot_token
CHAT_ID=your_telegram_chat_id

Остальные настройки уже есть в dotenv_example.txt. Самые важные:

  • IS_PROD=TRUE запускает Chrome в headless-режиме.
  • CHROMEDRIVER_PATH=drivers/chromedriver задает путь до ChromeDriver.
  • DURATION_HOURS=8 задает время работы бота.
  • PSYCHOLOGISTS=[...] задает список психологов. Сейчас бот проверяет первого психолога из списка.

Запуск

uv run python src/app.py

Логи пишутся в формате JSON в папку logs/.

About

A Telegram bot that monitors the UNN psychologist portal and sends instant notifications when a new appointment slot becomes available.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages