Skip to content

About

Sleduje voľné termíny jázd v autoškolách na RSAS Online a upozorní na Telegram, keď sa niečo uvoľní

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

🚗 Autoškola Watcher (RSAS Online)

Sleduje kalendár voľných jázd na RSAS Online — rezervačný systém, ktorý používa veľa autoškôl na Slovensku — a keď sa počet voľných termínov zmení, hneď ti napíše na Telegram. Ideálne, keď je tvoja obľúbená autoškola dlho vypredaná a chceš vedieť presne v momente, keď sa niečo uvoľní (napr. po zrušení termínu iným žiakom), aby si si to stihol zarezervovať ako prvý.

Pôvodne som si to napísal len pre seba na konkrétnu autoškolu — tu je to prerobené tak, aby to vedel nastaviť ktokoľvek, kto má účet v ľubovoľnej autoškole na RSAS Online.

Ako to funguje

RSAS Online má pre každú autoškolu vlastnú adresu v tvare:

https://rsas.online/sk/rsas.<NAZOV_SKOLY>/run

Skript sa cez headless Chrome prihlási na tvoj účet, otvorí kalendár a spočíta voľné termíny (calendar_i_item_day). Porovná to s posledným behom — ak sa počet zvýšil alebo znížil, pošle Telegram správu. Ak sa nič nemení, raz za cooldown_hours (default 48h) pošle len pripomienku, že niečo je stále voľné.

Nájdi svoj rsas_school slug

Otvor si prihlasovaciu stránku svojej autoškoly (odkaz by si mal mať od inštruktora/autoškoly) a pozri sa do URL — časť za rsas. a pred /run je tvoj slug, napr. autoskolaseligavaclav.

Inštalácia

Potrebuješ Python 3.9+, Chromium a k nemu odpovedajúci chromedriver.

sudo apt install -y chromium chromium-driver   # Debian/Ubuntu
pip install -r requirements.txt

Ak máš Chrome/Chromium inde než /usr/bin/chromium, uprav CHROME_BINARY na začiatku watch_autoskola.py.

Nastavenie

cp config.example.json config.json

Vyplň:

  • rsas_school — slug tvojej autoškoly (viď vyššie)
  • rsas_username, rsas_password — prihlasovacie údaje do RSAS Online (rovnaké ako na webe/appke autoškoly)
  • telegram_bot_token — vytvor si bota cez @BotFather na Telegrame (/newbot)
  • telegram_chat_id — napíš svojmu botovi čokoľvek a potom zisti chat_id cez https://api.telegram.org/bot<TOKEN>/getUpdates

Všetky hodnoty sa dajú namiesto config.json nastaviť aj cez premenné prostredia (RSAS_SCHOOL, RSAS_USERNAME, RSAS_PASSWORD, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID).

Spustenie

python3 watch_autoskola.py

Skript beží jednorazovo (prihlási sa, skontroluje, prípadne pošle správu, skončí) — na pravidelné sledovanie ho pridaj do crontabu, napr. každých 15 minút:

crontab -e
*/15 * * * * cd /cesta/k/autoskola && /usr/bin/python3 watch_autoskola.py >> watch.log 2>&1

Poznámka

Selektor calendar_i_item_day a prihlasovací formulár (username/password polia, ApModul.data.LoginSubmit()) sú overené na jednej konkrétnej autoškole — RSAS Online síce používa rovnaký systém pre všetky školy, ale ak by sa u teba kalendár rendroval inak (napr. iná trieda pre voľné vs. obsadené termíny), pozri si DOM cez vývojárske nástroje v prehliadači a uprav selektor v watch_autoskola.py.

License

Osobný projekt, voľne použiteľný a upraviteľný.

About

Sleduje voľné termíny jázd v autoškolách na RSAS Online a upozorní na Telegram, keď sa niečo uvoľní

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages