Das ETB kann jede neue Alarm-Mail automatisch als formatierten Telegram-Push in einen oder mehrere Chats schicken. Zusätzlich verarbeitet es Antworten aus dem Chat als Kommentare im Einsatz.
Dieses Thema erklärt die Einrichtung des Bots — vom Token bis zum Webhook.
ℹ️ Telegram ist seit dem Meldungs-Bus ein Zustellweg von mehreren. Das ETB adressiert seine Meldungen an Personen, Rollen und Löschgruppen; welcher Weg daraus einen Chat macht, entscheidet der eingestellte Kanal. Der zweite Weg ist Web Push — Zustellung direkt an die Geräte, ohne Fremddienst. Es gilt immer genau ein Kanal für die ganze Installation. Wer welche Meldung bekommt und welcher Chat für welche Gruppe steht, legst Du unter Meldungen fest — nicht mehr hier. Dieses Thema bleibt für die technische Einrichtung des Bots zuständig.
Was Du brauchst
- Bot-Token vom Telegram-BotFather
- Drei Chat-IDs (alle drei können theoretisch derselbe Chat sein):
- Alarmpush — bekommt die Einsatz-Pushes
- IuK — der Chat der Führungsstelle
- Debug — bekommt System- und Fehler-Meldungen, Heartbeat, Selbsttest und ETB-Reset sowie alle Test-Versände
- Einen Rückweg für die Antworten aus dem Chat — entweder eine HTTPS-erreichbare URL Deiner ETB-Instanz für den Webhook oder einen laufenden Cron, wenn Du die Rückmeldungen stattdessen abholst (siehe Webhook-Status)
Bot anlegen
- In Telegram
@BotFatheröffnen,/newbotschreiben. - Name und Username vergeben — Username muss auf
botenden. - Token kopieren — landet später in
TELEGRAM_TOKEN.
Chat-IDs herausfinden
- Den Bot in die Ziel-Chats einladen und einmal
/startschreiben (sonst darf er nichts schicken). @RawDataBotin den Chat einladen, der antwortet mit Chat-ID, User-ID etc. — Chat-ID rauskopieren (Gruppen-IDs sind negativ).@RawDataBotwieder rauswerfen.
Konfiguration im ETB
Token, Webhook-Secret und die drei Chat-IDs stehen in der config/.env und
werden über den Setup-Wizard gepflegt; unter
Administration → Einstellungen → Telegram (Bot) siehst Du sie
schreibgeschützt:
TELEGRAM_TOKEN="1234567890:AAH…"
TELEGRAM_WEBHOOK_SECRET=(auto-generiert)
TELEGRAM_WEBHOOK_URL=https://etb.example.de/telegram-webhook.php
TELEGRAM_CHAT_ALARMPUSH=-1001234567890
TELEGRAM_CHAT_IUK=-1009876543210
TELEGRAM_CHAT_DEBUG=-1005555555555
Die beiden Schalter — „Telegram aktiv" und der Debug-Modus — stehen unter Administration → Meldungen → Telegram, zusammen mit Token und Chat-IDs. Den Zustellweg wählst Du eine Seite weiter unter Meldungen → Zustellweg.
ℹ️ Die drei Chat-IDs sind der Rückfall der Zuordnung „Gruppe → Chat". Solange unter Meldungen nichts eigenes gepflegt ist, gilt:
.env-Wertsteht für TELEGRAM_CHAT_ALARMPUSHLöschgruppe „Alle übrigen" TELEGRAM_CHAT_IUKLöschgruppe IuK TELEGRAM_CHAT_DEBUGRolle Administrator Nach einem Update alarmiert Deine Wehr damit genau wie vorher, ohne dass Du etwas eintragen musst. Eine im Admin gepflegte Zeile gewinnt eintragsweise gegen den passenden
.env-Wert; alles Übrige greift weiter.
Webhook registrieren
Damit der Bot Antworten zurück ans ETB schickt, muss er den Webhook kennen. Das machst Du einmal unter Administration → Meldungen → Telegram → „Webhook-Status":
- Aktuellen Webhook prüfen (sollte erst leer sein).
- „Webhook setzen" klicken — das ETB sendet die URL inklusive
webhook_secretan Telegram. - Status-Test: Eine Nachricht in den Alarm-Chat schreiben, dann
/admin/log-dashboard.phpöffnen — Du solltest den Webhook-Eingang sehen.
⚠️ Achtung: Telegram verlangt HTTPS mit gültigem Zertifikat für Webhooks. Selbst-signierte Zertifikate werden zurückgewiesen.
ℹ️ Geht das bei Dir nicht, gibt es einen zweiten Weg: abholen. Statt Telegram zustellen zu lassen, fragt der Cron-Lauf bei Telegram nach. Das ist ein ausgehender Aufruf — er braucht weder eine von außen erreichbare Adresse noch ein Zertifikat noch eine Ausnahme in der
.htaccess. Der Preis: Die Rückmeldungen sind höchstens so frisch wie Dein Cron-Takt. Umgestellt wird das mit einem Knopf unter Webhook-Status — beides gleichzeitig lässt Telegram nicht zu.
Rückmeldungen aus dem Chat
Bietet eine Meldung Rückmeldungen an, hängen sie als Knöpfe direkt an der Nachricht im Chat. Ein Tipp darauf zählt; eine kurze Einblendung bestätigt ihn. Der Chat bleibt dabei sauber — es entsteht keine Textzeile je Antwort mehr. Ausgewertet werden die Rückmeldungen unter Rückmeldungen.
ℹ️ Beim Abholen bleibt diese Einblendung meist aus. Telegram nimmt die Bestätigung zu einem Knopf nur unmittelbar entgegen — holt der Cron erst Minuten später ab, ist sie zu alt. Der Kringel im Chat dreht dann aus, ohne Text. Gezählt hat der Tipp trotzdem; er steht unter Rückmeldungen. Mehr dazu unter Webhook-Status.
ℹ️ Das hat sich mit dem Rückkanal geändert — und Du musst dafür nichts umstellen. Früher lag unter der Nachricht eine Antwort-Tastatur; ein Druck darauf schickte die Beschriftung als ganz normale Textnachricht in den Chat. Solche Nachrichten sieht ein Bot in einer Gruppe aber nur, wenn sein „Privacy Mode" beim BotFather ausgeschaltet ist — und der ist ab Werk an. Wo das so stand, kam gar keine Rückmeldung an: kein Fehler, kein Log-Eintrag, der Webhook feuerte schlicht nie. Ein Knopf an der Nachricht löst dagegen eine Rückfrage aus, die den Bot immer erreicht — unabhängig von dieser Einstellung. Ein bislang stiller Rückkanal arbeitet damit von selbst wieder, sobald das Update eingespielt ist.
ℹ️ Der Textweg bleibt als Rückfall. Wer den Privacy Mode bewusst ausgeschaltet hat und getippte Antworten gewohnt ist, verliert nichts — beides wird angenommen.
⚠️ Es zählt nur, was aus einem Deiner Chats kommt. Das ETB nimmt eine Rückmeldung nur an, wenn sie aus einem Chat stammt, in den es selbst sendet — also aus einer der Zuordnungen, die unter Meldungen → Telegram in der Liste „Was gerade greift" stehen. Alles andere wird verworfen und protokolliert. Ein privater Dialog mit dem Bot zählt damit nicht mehr: Wer den Bot direkt anschreibt, meldet sich nirgends zurück. Auch wenn das ETB die Liste gerade gar nicht lesen kann, wird verworfen — eine fehlende Rückmeldung fällt der Führung auf, eine erfundene niemandem.
ℹ️ Im Debug-Modus zählt nur der Debug-Chat. Er überstimmt jede Zuordnung — auch für den Rückweg. Antworten aus dem Alarm-Chat kommen dann nicht an, solange er läuft.
⚠️ Telegram kann keine Person zuordnen. Der Chat liefert nur seinen eigenen Benutzernamen; das ETB führt bewusst keine persönlichen Telegram-IDs. Eine Rückmeldung aus dem Chat trägt deshalb den Bezug zur Meldung (und damit zum Einsatz), aber keinen ETB-Benutzer. Wer namentlich zurückmelden soll, braucht Web Push.
ℹ️ Chat-Antworten zählen in die Sammelmeldung. Sie starten das Zeitfenster wie jede andere Rückmeldung und stehen im Lagebild mit — hinter dem Namen steht dann „(aus dem Chat)", weil dieser Name im Chat frei gewählt ist und kein ETB-Klarname. Ohne das zählte eine Wehr, die auf Telegram läuft, in ihrer eigenen Sammelmeldung dauerhaft null.
ℹ️ Ein Chat-Teilnehmer hat je Meldung genau eine Antwort. Tippt jemand einen zweiten Knopf, wird seine bisherige überschrieben statt eine zweite danebengelegt — es zählt die letzte.
⚠️ Der Knopf gilt vier Stunden. Danach — und bei einer Meldung, die gar nicht über Telegram rausging — antwortet das ETB mit „Diese Rückmeldung ist nicht mehr möglich." Der Knopf bleibt an der alten Nachricht sichtbar; Telegram kann ihn nicht von selbst entfernen.
⚠️ Voraussetzung bleibt ein funktionierender Rückweg — entweder der Webhook (siehe oben) oder das Abholen über den Cron. Ohne einen der beiden kommt nichts zurück, auch von den Knöpfen nicht. Welcher gerade läuft, steht unter Webhook-Status.
⚠️ Was älter als vier Stunden ist, zählt nicht mehr. Das betrifft beim Abholen auch getippte Text-Antworten, die in Telegrams Warteschlange lagen: Nach einem Umschalten wird zwar alles geholt, was aufgelaufen ist — ein „Komme" von gestern Abend fließt aber nicht mehr in das Lagebild des laufenden Einsatzes.
Nachrichten-Texte
Die Texte pflegst Du seit dem Meldungs-Bus je Meldungsart und Regel unter Meldungen — dort gibt es zusätzlich eine Kurzfassung für Benachrichtigungen und eigene Texte je Empfängergruppe. Für die Ersteinrichtung musst Du nichts anfassen: Der Katalog startet mit genau den Texten, die eine Bestandsinstallation heute verschickt.
Die alten Telegram-Vorlagen (Alarm-Push, Alarmierungsliste, Fehler-, Heartbeat-, Reset- und Selbsttest-Meldung) gibt es weiterhin unter Meldungen → Telegram → „Telegram-Vorlagen"; sie dienten als Ausgangstext für den Katalog.
Selbsttest
Unter Meldungen → Telegram → „Selbsttest" prüft das ETB:
- Token-Format
- Bot-Erreichbarkeit (
getMe) - Alle drei Chat-IDs (Test-Nachricht mit Echo)
- UTF-8-Integrität (Umlaute, Sonderzeichen)
Bei Fehlern bekommst Du detailliertes Output, was schiefging.
Was als nächstes?
- Meldungen — wer welche Meldung bekommt und welcher Chat für welche Gruppe steht
- Cron & Mail-Verarbeitung — was bei jeder Mail passiert
- Diagnose & Werkzeuge — wenn Telegram nicht so will
- FAQ — „Telegram sendet nicht" und Co.