Zum Inhalt springen
Ratgeber

Rich Messages und Freigaben für Telegram in OpenClaw

HTML als Standard, Opt-in für Blöcke aus Bot API 10.3, die fünf Scopes für Inline-Buttons, der Buttons-Block und Mini-App-Buttons, die Nachrichtenaktionen mit ihren Gates, Emoji-Listen und Exec-Freigaben direkt in Telegram

6 Min. Lesezeit

Text ist nur der Anfang dessen, was ein Telegram-Bot senden kann: formatierte Blöcke, eine Tastatur unter einer Nachricht, ein Starter für eine Mini App, eine Reaktion auf die Nachricht einer anderen Person, eine Freigabeabfrage mit zwei Buttons. OpenClaw stellt all das über eine kleine Menge von Konfigurationsschlüsseln und Nachrichtenaktionen bereit, die meisten davon ausgeschaltet, bis Sie sie aktivieren. Hier sind der Formatierungsvertrag, die Button-Scopes, die Aktionen mit ihren Gates und wie eine Exec-Freigabe eine freigabeberechtigte Person in Telegram erreicht.

Formatierung

  • Ausgehender Text nutzt standardmäßig Telegram-HTML, das in aktuellen Clients lesbar ist, mit Fett, Kursiv, Links, Code, Spoilern und Zitaten, und Code in Fences behält seinen wörtlichen Inhalt und seine Abstände, einschließlich Fence-Beispielen innerhalb des Blocks; die nur für Rich Messages verfügbaren Blöcke aus Bot API 10.3, also native Tabellen, Details, Rich Media und Formeln, werden nur verwendet, wenn Sie sich ausdrücklich dafür entscheiden.
  • Mit eingeschaltetem Rich-Messages-Flag wird dem Agenten mitgeteilt, dass Rich Messages für diesen Bot oder dieses Konto verfügbar sind, samt dem unterstützten Autorenvertrag aus Markdown und HTML-Inseln; Markdown wird über die Markdown-Zwischendarstellung von OpenClaw als typisierte Rich-Blöcke gerendert, also Überschriften, Tabellen, Details, Checklisten, Rich Media, Formeln, Karten und Collagen, während Medienbeschriftungen weiterhin HTML-Beschriftungen mit höchstens 1024 Zeichen verwenden; gewöhnlicher Rich-Fließtext bewahrt geparste Leerzeichen und Zeilenumbrüche, Entities werden einmal dekodiert, maskierte Tags bleiben sichtbarer Text, nicht unterstütztes HTML bleibt sichtbar, ohne das Markdown darin zu unterdrücken, langer Rich-Text wird automatisch entlang der Telegram-Grenzen aufgeteilt, und Tabellen über der Grenze von 20 Spalten fallen auf einen Codeblock zurück.
  • Das Flag ist aus Gründen der Client-Kompatibilität standardmäßig aus, weil einige aktuelle Desktop-, Web-, Android- und Drittanbieter-Clients akzeptierte Rich Messages als nicht unterstützt darstellen; lassen Sie es aus, sofern nicht jeder mit dem Bot genutzte Client sie rendern kann, und der Status-Befehl zeigt, ob Rich Messages in der aktuellen Sitzung an oder aus sind.
  • Linkvorschauen sind standardmäßig an, und der Linkvorschau-Schlüssel auf false deaktiviert die automatische Entity-Erkennung für Rich-Text; Modelltext von den Rich-Markdown-Steuerzeichen von Telegram fernzuhalten ist auch der Grund, warum ein Währungsbereich wie 400 bis 600 K Dollar nicht als Formel geparst wird.
Mini-App-Buttons funktionieren nur in privaten Chats zwischen einem Benutzer und dem Bot.

Inline-Buttons

Die Inline-Button-Fähigkeit hat fünf Scopes, off, dm, group, all und allowlist, mit allowlist als Standard, gesetzt auf Kanalebene und pro Konto überschreibbar; die alte Array-Form entspricht all, ein Konto mit leerem capabilities-Array erbt die Fähigkeiten des Kanals, und ein explizites off deaktiviert Buttons. Das Tool ask-user nutzt diese nativen Steuerelemente für eine einzelne Frage mit Einfachauswahl, eine Zeile pro Option, mit einer Option „Other“, die das Antwortfeld von Telegram öffnet. Eine Nachrichtenaktion trägt eine Präsentation mit einem Buttons-Block, jeder Button mit Beschriftung, Aktion und optionalem Stil wie success oder danger; eine Callback-Aktion gibt ihren Wert zurück, und eine Web-App-Aktion öffnet eine Mini-App-URL, was nur in privaten Chats zwischen einem Benutzer und dem Bot funktioniert. Callback-Werte, die kein registrierter interaktiver Plugin-Handler beansprucht, werden dem Agenten als Text mit dem Präfix callback data übergeben. Bei dauerhaftem Ingress wird die Callback-Bestätigung direkt nach dem Speichern des Updates gesendet, ohne auf frühere Handler in der Lane dieses Chats zu warten; Telegram entfernt seine Ladeanzeige also früh, während die Aktion des Buttons weiterhin der normalen Autorisierung und geordneten Verarbeitung folgt.

Aktionen und Freigaben

  • Die Aktionen sind send-message mit Ziel, Inhalt und optionaler Medien-URL, Antwort-ID und Thread-ID, react mit Chat, Nachricht und Emoji, emoji-list mit optionalem Chat und Limit, delete-message, edit-message mit Inhalt oder Beschriftung und optionalen Inline-Buttons, wobei eine reine Button-Bearbeitung das Reply-Markup aktualisiert, und create-forum-topic mit Namen und optionaler Symbolfarbe oder eigenem Emoji, dazu die Aliasse send, react, delete, edit, sticker, sticker-search und topic-create; die Gates für send-message, delete-message, reactions und sticker sind standardmäßig deaktiviert, reactions deckt sowohl react als auch emoji-list ab, edit und die Forum-Topic-Aktionen sind ohne eigenen Schalter aktiviert, und Sendevorgänge zur Laufzeit nutzen den Konfigurations- und Secrets-Snapshot vom Start oder Reload, statt Secret-Referenzen bei jedem Senden neu aufzulösen.
  • Emoji-list prüft die im aktuellen vertrauenswürdigen Chat und Konto erlaubten Reaktionen, Agenten können keinen anderen Chat prüfen, während direkte Operatoren eine andere Chat-ID übergeben dürfen, das Limit ist standardmäßig 100 und kann 100 nicht überschreiten, ein Chat ohne Einschränkungen liefert die Standardreaktionen mit dem Hinweis, dass alle erlaubt sind, eine abgelehnte Reaktion liefert eine kurze Auswahl erlaubter Standardreaktionen und IDs eigener Emojis, sofern die Abfrage selbst nicht fehlgeschlagen ist, und Sie übergeben ein Unicode-Emoji oder eine numerische ID eines eigenen Emojis direkt an react.
  • Exec-Freigaben funktionieren in DMs der Freigabeberechtigten und können optional Abfragen im auslösenden Chat oder Topic posten, Freigabeberechtigte müssen numerische Benutzer-IDs sein, der Schlüssel enabled auf auto schaltet sie ein, sobald mindestens ein Freigabeberechtigter auflösbar ist, die Liste der Freigabeberechtigten fällt auf die numerischen Eigentümer-IDs aus der Eigentümer-Zulassungsliste zurück, das Ziel ist standardmäßig dm, mit channel und both als Alternativen, Agenten- und Sitzungs-Filter grenzen sie ein, die Zulassungslisten, die festlegen, wer mit dem Bot sprechen darf, machen niemanden zum Freigabeberechtigten, obwohl die erste freigegebene Kopplung die Eigentümerliste initialisiert, die Zustellung im Kanal zeigt den Befehlstext, weshalb channel oder both nur in vertrauenswürdige Gruppen gehören, eine Abfrage, die in einem Forum-Topic landet, behält dieses Topic für die Folgenachricht, Freigaben laufen standardmäßig nach 30 Minuten ab, Inline-Freigabe-Buttons erfordern, dass die Button-Fähigkeit die Zieloberfläche erlaubt, und Freigabe-IDs mit dem Präfix plugin werden über Plugin-Freigaben aufgelöst, während die übrigen zuerst Exec-Freigaben versuchen.

OpenClaw auf Telegram ist der Kanal-Beitrag, den diese Oberflächen erweitern, und Telegram-Nachrichtenverhalten in OpenClaw beschreibt das Zustellmodell darunter.

Buttons über Kanäle hinweg

Der Buttons-Block, der Callback-Wert und die Freigabeabfrage behalten auf jedem Kanal mit nativen Komponenten dieselbe Form, weshalb ein Agent eine Ja-Nein-Frage stellen kann, ohne zu wissen, wo sie beantwortet wird. Der Beitrag zu Discord-Komponenten und Freigaben in OpenClaw zeigt die Discord-Seite dieses Vertrags und der Beitrag zu Reaktionen in OpenClaw die Reaktionssemantik, die react und emoji-list umsetzen.

Auf Diali

Telegram ist einer der Kanäle, die Diali über das Dashboard verbindet, und die generierte Laufzeitkonfiguration wird bei jedem Release ersetzt; die Formatierungs- und Button-Schlüssel hier beschreiben also, was ein gehosteter Bot kann, und keine Einstellungen, die Sie von Hand bearbeiten. Telegram auf Diali ist der Kanal auf Diali und Sicherheit bei Diali die Grenze, die für jede Aktion gilt, die ein Bot ausführen kann.

  • Standardmäßig HTML; Rich-Blöcke nur, wenn jeder Client sie rendern kann.
  • Buttons folgen einem Scope; Mini Apps öffnen sich nur in privaten Chats.
  • Senden, Löschen, Reaktionen und Sticker bleiben aus, bis ihr Gate aktiviert ist.
Jetzt starten

Genug gelesen, bauen Sie selbst einen

Richten Sie einen Agenten ein, wählen Sie einen Kanal und lassen Sie ihn in der App arbeiten, die Sie ohnehin geöffnet haben.