No description
  • Python 96.2%
  • Shell 3.8%
Find a file
2026-04-03 22:14:31 +02:00
seatbot Add login session lifetime telemetry and jittered login-check scheduling 2026-03-29 08:42:37 +02:00
.gitattributes Prepare Forgejo sync (docs, example config, export-ignore) 2026-04-03 22:14:31 +02:00
.gitignore Initial seatbot automation setup 2026-03-23 00:03:03 +01:00
config.example.yaml Prepare Forgejo sync (docs, example config, export-ignore) 2026-04-03 22:14:31 +02:00
config.negtest.yaml Add login session lifetime telemetry and jittered login-check scheduling 2026-03-29 08:42:37 +02:00
config.prewarm.yaml Add login session lifetime telemetry and jittered login-check scheduling 2026-03-29 08:42:37 +02:00
config.test.yaml Add login session lifetime telemetry and jittered login-check scheduling 2026-03-29 08:42:37 +02:00
config.yaml Add login session lifetime telemetry and jittered login-check scheduling 2026-03-29 08:42:37 +02:00
pyproject.toml Initial seatbot automation setup 2026-03-23 00:03:03 +01:00
README.md Prepare Forgejo sync (docs, example config, export-ignore) 2026-04-03 22:14:31 +02:00
relogin_from_mac.sh Add headless SSO relogin bridge workflow 2026-03-27 10:59:39 +01:00
start_relogin_bridge.sh Add headless SSO relogin bridge workflow 2026-03-27 10:59:39 +01:00
start_scheduler.sh Add headless SSO relogin bridge workflow 2026-03-27 10:59:39 +01:00

seatbot

Automatisierte Sitzplatzbuchung auf rmt.zeiss.com via Playwright.

Setup

python -m pip install -e .
python -m playwright install chromium
cp config.example.yaml config.yaml

preferred_seat ist der RMT-Objektname in RMT.

Befehle

seatbot run-login-check
seatbot run-booking
seatbot run-booking --dry-run
seatbot run-booking --dry-run --dry-run-ignore-calendar
seatbot run-booking-notice
seatbot run-scheduler
seatbot run-scheduler --dry-run
seatbot run-scheduler --dry-run --dry-run-ignore-calendar

macOS:

./start_scheduler.sh

Konfiguration

Wichtig:

  • booking.preferred_seat
  • booking.alternative_seats
  • booking.location_path
  • booking.booking_start_time
  • booking.booking_end_time
  • booking.preferred_favorite_id
  • schedule.login_check
  • schedule.login_check_jitter_minutes
  • schedule.booking_notice
  • playwright.browser_channel
  • notifications.ntfy.*

Die Session wird lokal unter .state/storage_state.json gespeichert.

Source-Archiv

Archiv bauen:

git archive --format=zip --output seatbot-source.zip source-archive-delivery

Per export-ignore fliegen Hilfs- und Testdateien aus dem ZIP.

Im Archiv bleiben:

  • seatbot/
  • pyproject.toml
  • README.md
  • config.example.yaml
  • start_scheduler.sh

Dateien

  • seatbot/rmt_client.py
  • seatbot/orchestrator.py
  • seatbot/scheduler.py
  • config.example.yaml