Installation
Twitch wird als offizielles Plugin ausgeliefert und ist nicht Teil der Kerninstallation.- npm-Registry
- Lokaler Checkout
plugins install registriert und aktiviert das Plugin. Wenn Sie Twitch während openclaw onboard oder openclaw channels add auswählen, wird es bei Bedarf installiert. Verwenden Sie den reinen Paketnamen, um der aktuellen Version zu folgen; pinnen Sie eine exakte Version nur für reproduzierbare Installationen. Erfordert OpenClaw 2026.4.10 oder neuer.
Details: Plugins
Schnelleinrichtung
1
Plugin installieren
Siehe oben Installation.
2
Twitch-Bot-Konto erstellen
Erstellen Sie ein dediziertes Twitch-Konto für den Bot (oder verwenden Sie ein vorhandenes Konto).
3
Anmeldedaten generieren
Verwenden Sie den Twitch Token Generator:
- Wählen Sie Bot Token
- Prüfen Sie, ob die Scopes
chat:readundchat:writeausgewählt sind - Kopieren Sie Client ID und Access Token
4
Ihre Twitch-Benutzer-ID ermitteln
Verwenden Sie https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/, um einen Benutzernamen in eine Twitch-Benutzer-ID umzuwandeln.
5
Token konfigurieren
- Umgebungsvariable:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(nur für das Standardkonto) - Oder Konfiguration:
channels.twitch.accessToken
6
Gateway starten
Funktionsweise
- Ein Twitch-Kanal, dessen Eigentümer das Gateway ist.
- Deterministisches Routing: Antworten gehen immer an den Twitch-Kanal zurück, aus dem die Nachricht stammt.
- Jeder Kanal, dem beigetreten wurde, wird einem isolierten Gruppensitzungsschlüssel
agent:<agentId>:twitch:group:<channel>zugeordnet. usernameist das Konto des Bots (das sich authentifiziert),channelgibt an, welchem Chatraum beigetreten wird. Jeder Kontoeintrag tritt genau einem Kanal bei.- Tokens funktionieren mit oder ohne das Präfix
oauth:; OpenClaw normalisiert beide Varianten (der Einrichtungsassistent erwartet die Formoauth:).
Dauerhafte Verarbeitung eingehender Nachrichten
OpenClaw stellt jede akzeptierte Twitch-Chatnachricht dauerhaft in eine Warteschlange, bevor sie regulär weitergeleitet wird. Ausstehende oder erneut zustellbare Nachrichten überstehen einen Neustart des Gateways, bleiben für den konfigurierten Kanal serialisiert und verwenden die Nachrichten-ID von Twitch, um doppelte Warteschlangeneinträge zu unterdrücken, solange der aktive oder aufbewahrte Abschlussdatensatz vorhanden ist. Twitch Chat spielt einePRIVMSG nicht erneut ab, nachdem der Client sie akzeptiert hat. Dies schützt das lokale Absturzfenster zwischen Annahme und Weiterleitung, kann jedoch keine Nachrichten wiederherstellen, die vor der dauerhaften Aufnahme verpasst wurden. Wenn das Anhängen an die Warteschlange selbst fehlschlägt, protokolliert OpenClaw den Fehler; eine erneute Verbindung veranlasst Twitch nicht dazu, diese Nachricht erneut zu senden.
Token-Aktualisierung (optional)
Tokens vom Twitch Token Generator können von OpenClaw nicht aktualisiert werden – generieren Sie sie nach Ablauf neu (sie sind einige Stunden gültig; keine App-Registrierung erforderlich). Erstellen Sie für die automatische Aktualisierung Ihre eigene App in der Twitch Developer Console und fügen Sie Folgendes hinzu:refreshToken protokolliert es token refresh disabled (no refresh token); ohne clientSecret greift es auf ein statisches (nicht aktualisierendes) Token zurück.
Unterstützung mehrerer Konten
Verwenden Siechannels.twitch.accounts mit Anmeldedaten pro Konto. Das gemeinsame Muster finden Sie unter Konfiguration.
Beispiel (ein Bot-Konto in zwei Kanälen):
Jeder Kontoeintrag benötigt ein eigenes
accessToken (die Umgebungsvariable gilt nur für das Standardkonto). Ein Konto tritt genau einem Kanal bei; für den Beitritt zu zwei Kanälen sind daher zwei Konten erforderlich. channels.twitch.defaultAccount legt fest, welches Konto das Standardkonto ist.Zugriffskontrolle
allowFrom ist eine strikte Zulassungsliste von Twitch-Benutzer-IDs. Wenn sie festgelegt ist, wird allowedRoles ignoriert; lassen Sie allowFrom nicht festgelegt, um stattdessen rollenbasierten Zugriff zu verwenden.
Verfügbare Rollen: "moderator", "owner", "vip", "subscriber", "all".
- Zulassungsliste mit Benutzer-IDs (am sichersten)
- Rollenbasiert
- @Erwähnungsanforderung deaktivieren
Warum Benutzer-IDs? Benutzernamen können geändert werden, was Identitätsvortäuschung ermöglicht. Benutzer-IDs sind dauerhaft.Ermitteln Sie Ihre ID mit dem Konverter von Benutzernamen zu IDs.
Fehlerbehebung
Führen Sie zunächst Diagnosebefehle aus:Bot antwortet nicht auf Nachrichten
Bot antwortet nicht auf Nachrichten
- Zugriffskontrolle prüfen: Stellen Sie sicher, dass Ihre Benutzer-ID in
allowFromenthalten ist, oder entfernen Sie zum Testen vorübergehendallowFromund setzen SieallowedRoles: ["all"]. - Erwähnungssperre prüfen: Bei
requireMention: true(Standard) müssen Nachrichten den Benutzernamen des Bots mit @ erwähnen. - Prüfen, ob der Bot im Kanal ist: Der Bot tritt nur dem in
channelangegebenen Kanal bei.
Token-Probleme
Token-Probleme
„Verbindung fehlgeschlagen“ oder Authentifizierungsfehler:
- Prüfen Sie, ob
accessTokenden Wert des OAuth-Zugriffstokens enthält (das Präfixoauth:ist optional) - Prüfen Sie, ob das Token über die Scopes
chat:readundchat:writeverfügt - Prüfen Sie bei Verwendung der Token-Aktualisierung, ob
clientSecretundrefreshTokenfestgelegt sind
Token-Aktualisierung funktioniert nicht
Token-Aktualisierung funktioniert nicht
Prüfen Sie die Protokolle auf Aktualisierungsereignisse:Wenn
token refresh disabled (no refresh token) angezeigt wird:- Stellen Sie sicher, dass
clientSecretangegeben ist - Stellen Sie sicher, dass
refreshTokenangegeben ist
Konfiguration
Kontokonfiguration
string
erforderlich
Benutzername des Bots (das authentifizierende Konto).
string
erforderlich
OAuth-Zugriffstoken mit
chat:read und chat:write (Konfiguration oder Umgebungsvariable für das Standardkonto).string
erforderlich
Twitch-Client-ID (aus dem Token Generator oder Ihrer App). Im Schema optional, aber für die Verbindung erforderlich.
string
erforderlich
Kanal, dem beigetreten werden soll.
boolean
Standard:"true"
Dieses Konto aktivieren.
string
Optional: für die automatische Token-Aktualisierung.
string
Optional: für die automatische Token-Aktualisierung.
number
Ablaufzeit des Tokens in Sekunden (Aktualisierungsverfolgung).
number
Zeitstempel des Token-Erhalts (Aktualisierungsverfolgung).
string[]
Zulassungsliste mit Benutzer-IDs. Wenn sie festgelegt ist, werden Rollen ignoriert.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Rollenbasierte Zugriffskontrolle.
boolean
Standard:"true"
Eine @Erwähnung verlangen, um den Bot auszulösen.
string
Überschreibung des Präfixes für ausgehende Antworten dieses Kontos.
Provider-Optionen
channels.twitch.enabled– Kanalstart aktivieren/deaktivierenchannels.twitch.username/accessToken/clientId/channel– Vereinfachte Einzelkontokonfiguration (implizites Kontodefault; hat Vorrang voraccounts.default)channels.twitch.accounts.<accountName>– Mehrkontenkonfiguration (alle oben aufgeführten Kontofelder)channels.twitch.defaultAccount– Name des Standardkontoschannels.twitch.markdown.tables– Darstellungsmodus für Markdown-Tabellen (off|bullets|code|block)
Tool-Aktionen
Der Agent kann Twitch-Nachrichten über die Aktionsend des Nachrichten-Tools senden:
to ist optional und verwendet standardmäßig den konfigurierten Wert channel des Kontos.
Sicherheit und Betrieb
- Behandeln Sie Tokens wie Passwörter – committen Sie Tokens niemals in Git.
- Verwenden Sie die automatische Token-Aktualisierung für dauerhaft laufende Bots.
- Verwenden Sie Zulassungslisten mit Benutzer-IDs anstelle von Benutzernamen für die Zugriffskontrolle.
- Überwachen Sie die Protokolle auf Ereignisse zur Token-Aktualisierung und den Verbindungsstatus.
- Beschränken Sie den Token-Umfang auf das Minimum – fordern Sie nur
chat:readundchat:writean. - Falls Sie nicht weiterkommen: Starten Sie den Gateway neu, nachdem Sie sich vergewissert haben, dass kein anderer Prozess die Sitzung verwendet.
Beschränkungen
- 500 Zeichen pro Nachricht; längere Antworten werden an Wortgrenzen aufgeteilt.
- Markdown wird vor dem Senden entfernt (der Twitch-Chat verwendet reinen Text; Zeilenumbrüche werden zu Leerzeichen).
- OpenClaw fügt keine eigene Ratenbegrenzung hinzu; der Twurple-Chat-Client verarbeitet die Twitch-Ratenbegrenzungen.
Verwandte Themen
- Kanal-Routing — Sitzungs-Routing für Nachrichten
- Kanalübersicht — alle unterstützten Kanäle
- Gruppen — Verhalten von Gruppenchats und erwähnungsbasierte Zugriffssteuerung
- Kopplung — DM-Authentifizierung und Kopplungsablauf
- Sicherheit — Zugriffsmodell und Härtung