mirror of
https://github.com/BOSWatch/BW3-Core.git
synced 2026-01-02 14:50:25 +01:00
commit523329a9bbAuthor: 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 commit6a0a59c3acAuthor: 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
57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
# <center>Telegram</center>
|
|
---
|
|
|
|
## 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/geocoding.md) 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:**
|
|
```yaml
|
|
- 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](../modul/geocoding.md) (optional/nur POCSAG):
|
|
|
|
- `lat`
|
|
- `lon`
|
|
|
|
---
|
|
## Externe Abhängigkeiten
|
|
- python-telegram-bot
|