Diese Seite (Admin → Meldungen → Telegram → „Webhook-Status") prüft und
konfiguriert den Rückweg — also den Weg, auf dem Rückmeldungen aus den
Telegram-Chats zurück ins ETB kommen. Dafür gibt es zwei Möglichkeiten: den
Webhook (Telegram stellt zu) und das Abholen (der Cron fragt nach).
Beides stellst Du hier ein. Die Seite ist nur bei aktivem Telegram sinnvoll;
Du brauchst das Recht admin.access.
ℹ️ Die Seite lag früher direkt unter „Logs & Diagnose" und ist mit dem Meldungs-Bus in den Bereich Meldungen umgezogen.
Was die Seite zeigt
- Soll-Konfiguration (aus .env) — ob Bot-Token und Webhook-Secret gesetzt sind und welche Webhook-URL die Anwendung erwartet.
- Ist-Status (Telegram getWebhookInfo) — die bei Telegram tatsächlich registrierte URL (mit Hinweis, ob sie zur Soll-URL passt oder abweicht), die Zahl unverarbeiteter Updates und der letzte Fehler.
- Wie Rückmeldungen hereinkommen — welcher der beiden Rückwege gerade läuft, der Umschalter dazwischen und die Diagnose-Werte zum Abholen (siehe unten).
- Letzte 10 Rückmeldungen — die jüngsten Antworten aus den Chats mit Chat-Name, Antwort und Zeit. Sie dienen hier der Diagnose („kommt überhaupt etwas an?"); die Auswertung mit Einsatz- und Personenbezug steht unter Rückmeldungen.
ℹ️ Die Spalte Alarm bleibt fast immer leer („–"). Sie stammt aus der Zeit vor dem Meldungs-Bus und wurde nie befüllt. Der Bezug einer Chat-Antwort zur Meldung wird seit dem Rückkanal mitgeschrieben, auf dieser Diagnose-Seite aber nicht angezeigt.
ℹ️ Kommen hier keine Rückmeldungen an, ist der Webhook nicht zwangsläufig schuld. Bis zum Rückkanal lag unter der Nachricht eine Antwort-Tastatur, deren Antworten ein Bot in Gruppen nur mit ausgeschaltetem „Privacy Mode" sieht — bei BotFather ist der ab Werk an. Seit dem Update hängen die Antworten als Knöpfe an der Nachricht; die erreichen den Bot immer. Details: Telegram-Grundlagen → Rückmeldungen aus dem Chat.
⚠️ Steht kein Webhook-Secret, kann jeder, der die URL kennt, gefälschte Updates einschleusen. Klicke unter „Webhook-Secret" auf „Neuen Secret-Wert vorschlagen", trage den Wert in
config/.envalsTELEGRAM_WEBHOOK_SECRET=…ein, lade die Datei hoch und setze den Webhook danach neu.⚠️ Der vorgeschlagene Wert erscheint genau einmal — direkt nach dem Klick, im hervorgehobenen Kasten unter dem Knopf. Kopiere ihn sofort. Lädst Du die Seite neu oder gehst weg, ist er fort; dann klickst Du einfach noch einmal und bekommst einen neuen. Solange er nicht in der
.envsteht, geht dabei nichts verloren.ℹ️ Der Wert steht nicht mehr in der Adresszeile. Früher hing er als Parameter an der URL — und damit in der Browser-Historie, im Referrer der nächsten Seite und im Zugriffslog des Servers. Bei einem Wert, der den Webhook-Endpunkt absichert, ist das dreimal zu viel.
Webhook oder Abholen — die zwei Rückwege
Ein Webhook setzt drei Dinge voraus: eine von außen erreichbare Adresse, ein gültiges Zertifikat für genau diesen Hostnamen und einen Webserver, der den Aufruf bis zur Anwendung durchlässt. Fällt eines davon aus, kommen Rückmeldungen still nicht an — kein Fehler, keine Meldung, die Antworten fehlen einfach.
Abholen dreht die Richtung um: Der Cron-Lauf fragt bei Telegram nach. Das ist ein ausgehender Aufruf und braucht nichts davon — er läuft auch auf einem Webspace ohne HTTPS und hinter einem strengen Sicherheits-Filter.
| Eigenschaft | Webhook | Abholen |
|---|---|---|
| Richtung | Telegram stellt zu | Der Cron fragt nach |
| Wie schnell | sofort | mit dem nächsten Cron-Lauf |
| Braucht HTTPS + Zertifikat | ja | nein |
| Braucht einen durchgelassenen POST von außen | ja | nein |
| Braucht einen laufenden Cron | nein | ja |
⚠️ Beides gleichzeitig geht nicht. Telegram lässt entweder das eine oder das andere zu. Der Umschalter auf dieser Seite nimmt Dir das ab: „Abholen einschalten" löscht vorher den Webhook, „Zurück auf Webhook" setzt ihn wieder — sofern eine
TELEGRAM_WEBHOOK_URLkonfiguriert ist. Ist sie es nicht, sagt Dir das ETB nach dem Klick, dass gerade gar nichts mehr ankommt; trag sie dann im Setup-Assistenten nach und klicke unter „Aktionen" auf „Webhook setzen / aktualisieren".
Was die Karte anzeigt
- Aktueller Weg — drei Zustände, nicht zwei:
- Abholen über den Cron — der Cron holt ab, ein Webhook ist bewusst nicht gesetzt.
- Webhook — Telegram stellt zu.
- Kein Rückweg aktiv — Abholen ist aus und es ist kein Webhook gesetzt. Dann kommt nichts an. Entweder unten den Webhook setzen oder hier das Abholen einschalten.
- Letzter Abholvorgang — Zeitpunkt und Ergebnis des letzten Laufs, z. B. „21.08.2026, 14:22 Uhr — 3 abgeholt, 3 verarbeitet" oder „… — nichts Neues". Die Zeile bleibt auch dann stehen, wenn Du zurück auf Webhook gestellt hast — genau dann willst Du bei der Fehlersuche wissen, wann zuletzt etwas ankam.
- Nächster erwarteter Stand — die Nummer, ab der das ETB beim nächsten Mal fragt (nur sichtbar, solange Abholen läuft). Sie ist bei jedem Abhol-Problem die erste Zahl, die man sehen will.
ℹ️ „Noch keiner" direkt nach dem Einschalten ist normal. Der erste Vorgang läuft mit dem nächsten Cron-Takt. Mit „Jetzt abholen" kannst Du nachhelfen; kommt auch dann nichts, prüf im System-Status, ob der Cron überhaupt läuft.
Wenn dauerhaft „Nichts Neues" gemeldet wird
Steht der nächste erwartete Stand zu hoch, fragt jeder Lauf an der Warteschlange vorbei — und meldet dabei fröhlich „nichts Neues". Von außen ist das nicht davon zu unterscheiden, dass wirklich niemand geantwortet hat. Klicke dann auf „Stand zurücksetzen": Der Zähler beginnt wieder bei null, und der nächste Lauf fragt von vorn.
ℹ️ Meistens macht das ETB das von selbst. Telegram würfelt seine interne Nummerierung neu, wenn sieben Tage lang kein einziges Update anfiel — für eine kleine Wehr im Sommer der Normalfall. Nach so langer Stille verwirft das ETB den gespeicherten Stand und fragt automatisch von vorn. Der Knopf ist für die Fälle, die dieses Netz nicht fängt (etwa nach einem Wechsel des Bot-Tokens).
Was Du beim Abholen anders erlebst
⚠️ Die Quittung im Chat bleibt meist aus. Wer auf einen Antwort-Knopf tippt, bekommt beim Abholen dort in der Regel keine Bestätigung mehr zu sehen: Telegram nimmt sie nur unmittelbar entgegen, und bis zum nächsten Cron-Lauf vergehen Minuten. Die Rückmeldung ist trotzdem gespeichert und steht unter Rückmeldungen. Der Kringel im Chat dreht einfach aus, ohne Text.
⚠️ Nachrichten aus dem Chat, die älter als vier Stunden sind, werden verworfen. Das ist beim Umschalten wichtig: Was in Telegrams Warteschlange aufgelaufen ist, wird geholt — aber ein „Komme" von gestern Abend zählt nicht mehr ins Lagebild des Einsatzes, der gerade läuft. Das ist dieselbe Vier-Stunden-Grenze, die auch für die Antwort-Knöpfe gilt.
ℹ️ Der Schalter „Telegram aktiv" hält beide Richtungen an. Steht er unter Meldungen → Telegram auf aus, geht nichts raus und es wird nichts abgeholt.
ℹ️ Es läuft immer nur ein Abholvorgang. Überlappen sich zwei Cron-Läufe, macht der zweite nichts — sonst könnte dieselbe Zusage doppelt im Lagebild landen.
Die Knöpfe auf der Karte
Es erscheinen immer nur die, die gerade passen:
| Zustand | Knöpfe |
|---|---|
| Abholen aus | Abholen einschalten — löscht den Webhook, setzt den Zähler auf null und stellt um |
| Abholen an | Jetzt abholen (sofort, ohne auf den Cron zu warten), Zurück auf Webhook, Stand zurücksetzen |
Kein Bot-Token in der .env |
keine — stattdessen der Hinweis, dass zuerst der Token fehlt |
Vor dem Umschalten und vor dem Zurücksetzen fragt das ETB nach — alle drei greifen sofort in den laufenden Betrieb ein.
Aktionen
- Webhook setzen / aktualisieren — registriert die Soll-URL beim Bot. Nötig nach Token-Wechsel, URL-Wechsel, Secret-Änderung oder wenn der Webhook vergessen wurde. Vorhandene Pending-Updates werden dabei verworfen.
- Webhook löschen — entfernt die Registrierung. Danach kommen keine Rückmeldungen mehr an, bis Du den Webhook neu einrichtest oder das Abholen einschaltest.
- Bot identifizieren (getMe) — zeigt, welcher Bot hinter dem Token steckt.
- Debug-Informationen anzeigen — blendet die Roh-Antworten von Telegram zur Fehlersuche ein.
ℹ️ Läuft gerade das Abholen, ist „kein Webhook gesetzt" der gewollte Zustand. Der Ist-Status oben meldet ihn dann nicht mehr rot als Fehler, sondern als „kein Webhook — so gewollt, die Rückmeldungen werden abgeholt".
Was als nächstes?
- Rückmeldungen — die Antworten ausgewertet, mit Einsatzbezug
- Cron & Mail-Verarbeitung — der Takt, in dem abgeholt wird
- Telegram — den Bot einrichten
- Telegram-Selftest — Bot-Verbindung und Test-Nachricht prüfen
- Meldungen — welche Meldung an wen geht