Dieses Skript ruft Daten von Leitstellenspiel.de ab und sendet eine tägliche Übersicht zu Gebäude-Erweiterungen und Schulungen, die heute fertig werden, an einen Discord-Webhook.
💪 Automatische Benachrichtigung – Ideal für Spieler, die immer informiert bleiben wollen.
🕒 Geplante Ausführung – Empfohlen als täglicher Cronjob.
- 📅 Roadmap
- ✅ Voraussetzungen
- 🛠 Installation
- 🚀 Nutzung
- 📅 Automatisierung per Cronjob
- ❌ Fehlerbehebung
- 📊 Beispielausgabe
- 💡 Mitwirkende
-
Benachrichtigung auf apprise umstellen. Siehe Issue #1 -
Automatische ermittlung derPROFILE_ID -
Hinzufügen der Lagerräume -
Hinzufügen der Spezialisierungen
🔹 Python ≥ 3.8 installiert (Download)
🔹 Python-Bibliotheken: siehe requirements.txt ➡ Installation mit:
pip install -r requirements.txt🔹 Alternativ: Docker-Installation (Windows | macOS | Linux)
- Eine Apprise URL, um die Nachrichten zu senden.
- Eine gültige
cookies.txtDatei, um auf die API von Leitstellenspiel zuzugreifen.
Apprise bietet viele Schnittstellen, über die Benachrichtigungen gesendet werden können, z.B. Discord, E-Mail, Notifiarr und viele mehr (siehe Apprise Wiki).
In dieser Anleitung zeigen wir die beispielhafte Einrichtung für Discord.
Hier findet ihr die Anleitung für das Nutzen der E-Mail Benachrichtigungen.
- Discord öffnen ➡ Servereinstellungen ➡ Integrationen
- Webhook erstellen ➡ URL kopieren
Zum Senden an Discord müssen wir diese Apprise URL für Discord anpassen discord://<BOT-NAME>@<WebhookID>/<WebhookToken>/?avatar_url=https://www.leitstellenspiel.de/images/logo-header.png
Die Discord Webhook URL, die im 1. Schritt kopiert wurde, kann z.B. so aussehen: https://discordapp.com/api/webhooks/4174216298/JHMHI8qBe7bk2ZwO5U711o3dV_js
Die Bestandteile sind wie folgt:
https://discordapp.com/api/webhooks/{WebhookID}/{WebhookToken}
In diesem Beispiel ist
- die WebhookID
4174216298 - das WebhookToken
JHMHI8qBe7bk2ZwO5U711o3dV_js
Der BOT-NAME ist frei wählbar, für unser Beispiel nutzen wir Leitstelle.
Am Ende sollte die Apprise URL wir folgt aussehen discord://Leitstelle@4174216298/JHMHI8qBe7bk2ZwO5U711o3dV_js/?avatar_url=https://www.leitstellenspiel.de/images/logo-header.png
- Mit Chrome oder Firefox Cookies exportieren:
🔗 Chrome: Get cookies.txt LOCALLY
🔗 Firefox: cookies.txt Add-on - Auf Leitstellenspiel.de einloggen ➡ Cookies als
cookies.txtspeichern - Format:
Netscape HTTP Cookie File(Tab-getrennte Zeilen)
Beim ersten Start fragt das Skript nach:
- Sendeoptionen (Immer oder nur bei fertigen Einträgen,
FalseoderTrue) - Apprise URL
Falls Docker genutzt wird, müssen diese Werte im docker run Befehl oder der docker-compose.yml gesetzt werden.
Das Skript wird mit folgendem Befehl gestartet:
python lss_daily_discord_overview.pyMit folgendem Befehl kann der Container gestartet werden, unter Beachtung folgender Hinweise:
- Werte, die sonst in der
.envstehen, müssen in dem Befehl ergänzt werden cookies.txtmuss im selben Verzeichnis liegen
docker run -it --rm --name lss_daily_discord_overview \
-v $PWD/cookies.txt:/app/cookies.txt:ro \
-e APPRISE_URL='discord://<BOT-NAME>@<WebhookID>/<WebhookToken>/?avatar_url=https://www.leitstellenspiel.de/images/logo-header.png' \
-e SEND_ALWAYS='False' \
ghcr.io/thescriptlist/lss_daily_discord_overview:latestAlternativ als docker-compose.yml, unter Beachtung folgender Hinweise:
- Werte, die sonst in der
.envstehen, müssen unterenvironmentergänzt werden cookies.txtmuss im selben Verzeichnis liegen wie diedocker-compose.yml
services:
lss_daily_discord_overview:
image: ghcr.io/thescriptlist/lss_daily_discord_overview:latest
container_name: lss_daily_discord_overview
environment:
- "APPRISE_URL=discord://<BOT-NAME>@<WebhookID>/<WebhookToken>/?avatar_url=https://www.leitstellenspiel.de/images/logo-header.png"
- "SEND_ALWAYS=False"
volumes:
- ./cookies.txt:/app/cookies.txt:roDas aktuellste Release kann hier gefunden werden.
- Windows:
lss_daily_discord_overview-Windows_X64.exestarten
Falls eure Antivirensoftware die
lss_daily_discord_overview-Windows_X64.exeals potenzielle Bedrohung einstuft, keine Sorge – das ist ein bekanntes Problem bei selbst erstellten ausführbaren Dateien. Der Code ist Open Source und kann vollständig eingesehen werden. Wenn ihr derlss_daily_discord_overview-Windows_X64.exenicht traut, nutzt einfach daslss_daily_discord_overview.pySkript direkt.
📌 Täglich um 00:01 Uhr ausführen:
1 0 * * * cd /pfad/zum/skript && ./lss_daily_discord_overview.py📌 Mit Docker Compose:
1 0 * * * docker compose -f /pfad/zur/docker-compose.yml upVorausgesetzt, dass die
.envundcookies.txtbereits in dem Verzeichnis vorhanden sind. Für Docker müssen die Werte aus der.envin der Compose Datei ergänzt werden.
| Fehler | Lösung |
|---|---|
cookies.txt wurde nicht gefunden |
Stelle sicher, dass sich cookies.txt im Skript-Ordner befindet. |
403 Fehler (Zugriff verweigert) |
Prüfe, ob die Cookies korrekt gespeichert sind. Eventuell erneut exportieren. |
400 Fehler (Webhook) |
Überprüfe, ob die Webhook-URL korrekt ist. |
SEND_ALWAYS = False
APPRISE_URL = discord://Leitstelle@4174216298/JHMHI8qBe7bk2ZwO5U711o3d...
Ermittelte Profil ID: 12345
Startdatum: 2025-02-07
Gebäude-Erweiterungen auslesen...
Lagerräume-Erweiterungen auslesen...
Spezialisierungen auslesen...
Überprüfe Schulungen...
==> Feuerwehr - ELW 2 Lehrgang (2025-02-07)
--> HEUTE
==> Rettungsdienst - Rettungshundeführer (2025-02-11)
==> THW - Fachgruppe Schwere Bergung (2025-02-15)
==> Polizei - MEK (2025-02-20)
==> Polizei - SEK (2025-02-20)
Nachricht senden...
Falls Einträge vorhanden sind:
📢 Einträge für heute [07.02.2025]
🏢 Gebäude-Erweiterungen:
- THW #1: Fachgruppe Elektroversorgung (Fertig am: 07.02.2025 21:43)
📦 Lagerräume:
- Feuerwache Potsdam: Lagerraum (Fertig am: 07.02.2025 17:13)
🔧 Spezialisierungen:
- Feuerwache Berlin: Werkfeuerwehr-Spezialisierung (Fertig am: 07.02.2025 17:14)
🎓 Schulungen:
- Feuerwehr - ELW 2 Lehrgang (Fertig am: 07.02.2025 21:30) teilgenommen haben:
- 6 Person(en) aus Feuerwache Berlin
- 1 Person(en) aus Feuerwache PotsdamFalls nur in einem der beiden Teile Einträge vorhanden sind:
📢 Einträge für heute [07.02.2025]
🏢 Gebäude-Erweiterungen:
- THW #1: Fachgruppe Elektroversorgung (Fertig am: 07.02.2025 21:43)
📦 Lagerräume:
Heute keine Einträge vorhanden.
🔧 Spezialisierungen:
Heute keine Einträge vorhanden.
🎓 Schulungen:
Heute keine Einträge vorhanden.Falls keine Einträge vorhanden sind und die Einstellung SEND_ALWAYS = True ist:
📢 Einträge für heute [08.02.2025]
🚫 Heute wird keine Erweiterung fertig und keine Schulung endet.Falls ein Fehler im Skript auftritt (z.B. fehlende/abgelaufene Cookies), wird dieser immer an den Webhook gesendet.
Erstellt von L0rdEnki und MisterX2000.