BW3-Core/docu/docs/plugin/telegram.md
KoenigMjr 3d8b5a3797 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
2025-10-06 13:47:00 +02:00

1.6 KiB

Telegram


Beschreibung

Mit diesem Plugin ist es moeglich, Telegram-Nachrichten für POCSAG-Alarmierungen zu senden. Außerdem werden Locations versendet, wenn die Felder lat und lon im Paket definiert sind. (beispielsweise durch das Geocoding Modul)

Die abarbeitung der Alarmierungen erfolgt per Queue nach den Limits der Telegram API, damit keine Nachrichten verloren gehen, diese Funktion kann mit dem queue Parameter deaktiviert werden.

Unterstütze Alarmtypen

  • Fms
  • Pocsag
  • Zvei
  • Msg

Resource

telegram

Konfiguration

Feld Beschreibung Default
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
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:

  - type: plugin
    name: Telegram Plugin
    res: telegram
    config:
      message_pocsag: "{RIC}({SRIC})\n{MSG}"
      startup_message: "Server up and running!"
      botToken: "BOT_TOKEN"
      chatIds:
        - "CHAT_ID"

Modul Abhängigkeiten

Aus dem Modul Geocoding (optional/nur POCSAG):

  • lat
  • lon

Externe Abhängigkeiten

  • python-telegram-bot