Zwei Telegram-Bots in einer Gruppe verbinden: Zustellungssemantik über HTTP

Zwei unabhängige Telegram-Bots im selben Gruppenchat zu verbinden, ist schwieriger, als es klingt. Ein Entwickler auf r/openclaw berichtet von seinen Erfahrungen beim Bau einer Brückenschicht, weil Telegram Nachrichten von einem Bot an einen anderen in einer Gruppe nicht zuverlässig zustellt – obwohl Menschen beide Nachrichten sehen können.
Das Kernproblem
Telegram liefert Bot B keine Updates, wenn Bot A eine Nachricht an die Gruppe sendet. Daher baute das Team eine kleine Brücke um die Einschränkungen von Telegram herum:
- Bot B → Bot A: Bot B postet über einen HTTP-Endpunkt (Tailgate), um Bot A zu erreichen.
- Bot A → Bot B: Bot A stellt ausgewählte ausgehende Nachrichten über einen kontrollierten Feed bereit, den Bot B abfragt.
- Nachrichten enthalten Metadaten:
source,direction,chat ID,nonceund einsafe_to_bridge-Flag. - ACKs: Bot B kann eine bestimmte Nachricht quittieren und bestätigen, dass mindestens ein Hop funktioniert hat.
- Der gemeinsame Feed enthält nur brückensicheren Gruppenkontext – keine privaten DMs oder irrelevanten Datenverkehr.
- Der lokale Poller von Bot B filtert alte/Debug/Protokoll/Status-Nachrichten heraus, dedupliziert Ereignisse und lässt nur frische Gesprächsbeiträge durch.
Lehren aus der ersten Version
Die erste Implementierung war zu locker: Roher Telegram-Kontext gelangte in den gemeinsamen Feed, was zu verwirrenden „Woher weiß der andere Bot das?“-Momenten führte. Die Lösung bestand darin, von rohen gemeinsamen Logs zu expliziten, nur brückensicheren Ereignissen überzugehen.
Der aktuelle Zustand funktioniert in kontrollierten Tests:
- Bot B → Bot A per Relay
- Bot A → Bot B per Feed
- ACKs fließen über den Relay-Pfad
- Sicheres automatisches Spiegeln für Nachrichten, die eindeutig an einen Bot gerichtet sind
Gewünschter Ablauf
Die angestrebte Gesprächsschleife:
- Ein Mensch oder Bot A schreibt etwas, das an Bot B gerichtet ist.
- Die Brücke spiegelt es sicher.
- Bot B sieht es einmal und antwortet einmal.
- Die Antwort wird zurückgespiegelt, wenn sie sicher und relevant ist.
- Keine Duplikate, veraltete Rückstände, undichte private DMs, Debug-Echos oder Bot-Schleifen.
Architekturrichtung
Der Autor schlägt vor, die Brücke eher wie einen kleinen Ereignisbus zu behandeln, nicht wie einen Chat-Hack:
- Strenge Nachrichten-IDs und Nonces
- ACKs, Deduplizierung, Checkpointing
- Begrenzte Feeds mit harter Trennung von privatem und gruppensicherem Kontext
Das Schwierige sind die Zustellungssemantiken – Aktualität, Deduplizierung, ACKs und die Entscheidung, wann ein Bot automatisch antworten soll, ohne Endlosschleifen zu verursachen.
📖 Vollständige Quelle lesen: r/openclaw
👀 Siehe auch

Dreischichtige Speicherarchitektur für persistente OpenClaw-Agentenkontexte
Ein Entwickler hat ein 3-schichtiges Speichersystem auf der Infrastruktur von OpenClaw aufgebaut, um zu verhindern, dass Agenten jede Sitzung ohne Kontext beginnen. Die Architektur umfasst L1-Arbeitsbereichsdateien, die bei jedem Zugriff injiziert werden, L2-semantische Speichersuche und L3-Referenzdokumente, die bei Bedarf geöffnet werden.

Umgang mit Gateway-Trennungen für effektive Automatisierung
Erforschen Sie praktische Lösungen zur Aufrechterhaltung des Betriebs von KI-Coding-Agenten bei Gateway-Trennungen. Zu den Tipps gehören die Überwachung mit Grafana, automatisierte Wiederverbindungs-Skripte und die Nutzung redundanter Pfade für mehr Zuverlässigkeit.

Qwen3.5-397B MoE läuft auf 14 GB RAM dank geladenen Expertenseiten auf dem M1 Ultra
Die Paged-MoE-Engine hält nur 20 Experten im Arbeitsspeicher und lädt den Rest bei Bedarf von der SSD nach – damit läuft ein 209 GB großes 397B-Modell auf einem 64 GB Mac Studio mit 1,59 tok/s und 14 GB RAM-Spitzenlast. Enthält Benchmarks für kleinere Modelle.

Korrektur für Unter-Agenten, die in OpenClaw v2026.3.13 nicht angezeigt werden
Eine Problemumgehung für OpenClaw v2026.3.13, bei der benutzerdefinierte Sub-Agenten nicht in der Agentenliste erscheinen: Vereinfachen Sie die openclaw.json-Agentenliste, sodass sie nur IDs enthält, und registrieren Sie Agenten manuell in runs.json mit dem Status 'idle'.