Skip to content

TheScriptList/lss_daily_discord_overview

Repository files navigation

🚨 Leitstellenspiel Daily Discord Overview

Build Executable Docker Image CI GitHub Release GitHub Downloads (all assets, all releases)

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.

Inhaltsverzeichnis

📅 Roadmap

  • Benachrichtigung auf apprise umstellen. Siehe Issue #1
  • Automatische ermittlung der PROFILE_ID
  • Hinzufügen der Lagerräume
  • Hinzufügen der Spezialisierungen

✅ Voraussetzungen

🔹 Python ≥ 3.8 installiert (Download)
🔹 Python-Bibliotheken: siehe requirements.txt ➡ Installation mit:

pip install -r requirements.txt

🔹 Alternativ: Docker-Installation (Windows | macOS | Linux)

Notwendige Informationen

  • Eine Apprise URL, um die Nachrichten zu senden.
  • Eine gültige cookies.txt Datei, 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.

🛠 Installation

1️⃣ Discord Webhook einrichten

  1. Discord öffnenServereinstellungenIntegrationen
  2. Webhook erstellenURL kopieren

2️⃣ Apprise URL Einrichten

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

3️⃣ Cookies speichern (cookies.txt)

  1. Mit Chrome oder Firefox Cookies exportieren:
    🔗 Chrome: Get cookies.txt LOCALLY
    🔗 Firefox: cookies.txt Add-on
  2. Auf Leitstellenspiel.de einloggen ➡ Cookies als cookies.txt speichern
  3. Format: Netscape HTTP Cookie File (Tab-getrennte Zeilen)

4️⃣ Konfiguration (.env-Datei)

Beim ersten Start fragt das Skript nach:

  • Sendeoptionen (Immer oder nur bei fertigen Einträgen, False oder True)
  • Apprise URL

Falls Docker genutzt wird, müssen diese Werte im docker run Befehl oder der docker-compose.yml gesetzt werden.

🚀 Nutzung

🐍 Python Skript starten

Das Skript wird mit folgendem Befehl gestartet:

python lss_daily_discord_overview.py

🐋 Docker Container nutzen

Mit folgendem Befehl kann der Container gestartet werden, unter Beachtung folgender Hinweise:

  • Werte, die sonst in der .env stehen, müssen in dem Befehl ergänzt werden
  • cookies.txt muss 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:latest

Alternativ als docker-compose.yml, unter Beachtung folgender Hinweise:

  • Werte, die sonst in der .env stehen, müssen unter environment ergänzt werden
  • cookies.txt muss im selben Verzeichnis liegen wie die docker-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:ro

🏁 Executable-Version

Das aktuellste Release kann hier gefunden werden.

  • Windows: lss_daily_discord_overview-Windows_X64.exe starten

Falls eure Antivirensoftware die lss_daily_discord_overview-Windows_X64.exe als 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 der lss_daily_discord_overview-Windows_X64.exe nicht traut, nutzt einfach das lss_daily_discord_overview.py Skript direkt.

📅 Automatisierung per Cronjob

📌 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 up

Vorausgesetzt, dass die .env und cookies.txt bereits in dem Verzeichnis vorhanden sind. Für Docker müssen die Werte aus der .env in der Compose Datei ergänzt werden.

❌ Fehlerbehebung

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.

📊 Beispielausgabe

Konsolenausgabe (alle Einträge)

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...

Webhook-Nachricht (abhängig von der Einstellung)

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 Potsdam

Falls 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.

💡 Mitwirkende

Erstellt von L0rdEnki und MisterX2000.

About

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.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors