Squashed commit of the following:

commit 523329a9bb
Author: KoenigMjr <135820716+KoenigMjr@users.noreply.github.com>
Date:   Tue Jun 10 14:08:31 2025 +0200

    Doku-Ergänzung

    update zur neuen Telegram Version

    *in Konfiguration hinzugefügt:*
    Startup_message
    max_retries
    initial_delay
    max_delay

    *gelöscht:*
    queue

    *im Beispiel:*
    Startup_message hinzugefügt

commit 6a0a59c3ac
Author: KoenigMjr <135820716+KoenigMjr@users.noreply.github.com>
Date:   Fri Jul 11 22:24:39 2025 +0200

    Telegram mit Warteschlange

    Durch Einbau einer Warteschlange kein Datenverlust bei belegter API (Sendelimit ca. 30 Nachrichten/min, gibt aber Soft-Limit)

    Exponentielles Backoff mit Maximalgrenze
    Retry-Zähler mit Abbruch bei zu vielen Fehlversuchen
    Kein Wiederholen bei permanenten Fehlern (400/401)
    dynamische Zeitanpassung bei 429 Fehlern

    Fehlerrobustheit verbessert hinsichtlich Connection Error

    neues Plugin ohne telegram-bot

    * Timeout (timeout=10),
    * HTTP-Fehlerprüfung (raise_for_status()),
    * Retry-Logik (3 Versuche mit wachsender Wartezeit),
    * Sauberem Logging mit logger statt print).

    send_location aus altem Skript übernommen und angepasst
This commit is contained in:
KoenigMjr 2025-10-06 13:47:00 +02:00
parent d8528a300b
commit 3d8b5a3797
2 changed files with 161 additions and 81 deletions

View file

@ -22,11 +22,14 @@ Die abarbeitung der Alarmierungen erfolgt per Queue nach den Limits der Telegram
|----|------------|-------|
|botToken|Der Api-Key des Telegram-Bots||
|chatIds|Liste mit Chat-Ids der Empfängers / der Emfänger-Gruppen||
|startup_message|Nachricht, dass das Telegram-Plugin erfolgreich geladen wurde|leer|
|message_fms|Format der Nachricht für FMS|`{FMS}`|
|message_pocsag|Format der Nachricht für Pocsag|`{RIC}({SRIC})\n{MSG}`|
|message_zvei|Format der Nachricht für ZVEI|`{TONE}`|
|message_msg|Format der Nachricht für MSG||
|queue|Aktivieren/Deaktivieren der MessageQueue|true|
|max_retries|Anzahl der Versuche, bis das Senden abgebrochen wird|5|
|initial_delay|Verzögerung des zweiten Sendeversuchs|2 [Sek.]|
|max_delay|Maximale Verzögerung|60 [Sek.]|
**Beispiel:**
```yaml
@ -35,6 +38,7 @@ Die abarbeitung der Alarmierungen erfolgt per Queue nach den Limits der Telegram
res: telegram
config:
message_pocsag: "{RIC}({SRIC})\n{MSG}"
startup_message: "Server up and running!"
botToken: "BOT_TOKEN"
chatIds:
- "CHAT_ID"