Twitch
Unterstützung für Twitch-Chat über eine IRC-Verbindung. OpenClaw verbindet sich als Twitch-Benutzer (Bot-Konto), um Nachrichten in Kanälen zu empfangen und zu senden.Gebündeltes Plugin
Twitch wird in aktuellen OpenClaw-Releases als gebündeltes Plugin ausgeliefert, daher benötigen normale paketierte Builds keine separate Installation. Wenn Sie eine ältere Build-Version oder eine benutzerdefinierte Installation ohne Twitch verwenden, installieren Sie es manuell: Installation per CLI (npm-Registry):Schnelle Einrichtung (für Einsteiger)
- Stellen Sie sicher, dass das Twitch-Plugin verfügbar ist.
- Aktuelle paketierte OpenClaw-Releases enthalten es bereits gebündelt.
- Ältere/benutzerdefinierte Installationen können es mit den oben genannten Befehlen manuell hinzufügen.
- Erstellen Sie ein dediziertes Twitch-Konto für den Bot (oder verwenden Sie ein vorhandenes Konto).
- Erzeugen Sie Anmeldedaten: Twitch Token Generator
- Wählen Sie Bot Token
- Stellen Sie sicher, dass die Scopes
chat:readundchat:writeausgewählt sind - Kopieren Sie die Client ID und das Access Token
- Ermitteln Sie Ihre Twitch-Benutzer-ID: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
- Konfigurieren Sie das Token:
- Env:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(nur Standardkonto) - Oder config:
channels.twitch.accessToken - Wenn beides gesetzt ist, hat config Vorrang (Env-Fallback gilt nur für das Standardkonto).
- Env:
- Starten Sie das Gateway.
allowFrom oder allowedRoles) hinzu, damit keine unbefugten Benutzer den Bot auslösen können. requireMention ist standardmäßig auf true gesetzt.
Minimale Konfiguration:
Was es ist
- Ein Twitch-Kanal, der dem Gateway gehört.
- Deterministisches Routing: Antworten gehen immer an Twitch zurück.
- Jedes Konto wird auf einen isolierten Sitzungsschlüssel
agent:<agentId>:twitch:<accountName>abgebildet. usernameist das Konto des Bots (das sich authentifiziert),channelist der Chatraum, dem beigetreten wird.
Einrichtung (detailliert)
Anmeldedaten erzeugen
Verwenden Sie den Twitch Token Generator:- Wählen Sie Bot Token
- Stellen Sie sicher, dass die Scopes
chat:readundchat:writeausgewählt sind - Kopieren Sie die Client ID und das Access Token
Bot konfigurieren
Env var (nur Standardkonto):Zugriffskontrolle (empfohlen)
allowFrom für eine harte Allowlist. Verwenden Sie stattdessen allowedRoles, wenn Sie rollenbasierten Zugriff möchten.
Verfügbare Rollen: "moderator", "owner", "vip", "subscriber", "all".
Warum Benutzer-IDs? Benutzernamen können sich ändern, was Imitation ermöglicht. Benutzer-IDs sind dauerhaft.
Ermitteln Sie Ihre Twitch-Benutzer-ID: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (Twitch-Benutzernamen in ID umwandeln)
Token-Aktualisierung (optional)
Tokens vom Twitch Token Generator können nicht automatisch aktualisiert werden - erzeugen Sie sie nach Ablauf erneut. Für automatische Token-Aktualisierung erstellen Sie Ihre eigene Twitch-Anwendung in der Twitch Developer Console und fügen Folgendes zur Konfiguration hinzu:Unterstützung mehrerer Konten
Verwenden Siechannels.twitch.accounts mit kontoabhängigen Tokens. Siehe gateway/configuration für das gemeinsame Muster.
Beispiel (ein Bot-Konto in zwei Kanälen):
Zugriffskontrolle
Rollenbasierte Einschränkungen
Allowlist nach Benutzer-ID (am sichersten)
Rollenbasierter Zugriff (Alternative)
allowFrom ist eine harte Allowlist. Wenn gesetzt, sind nur diese Benutzer-IDs erlaubt.
Wenn Sie rollenbasierten Zugriff möchten, lassen Sie allowFrom ungesetzt und konfigurieren stattdessen allowedRoles:
@mention-Anforderung deaktivieren
Standardmäßig istrequireMention auf true gesetzt. Um dies zu deaktivieren und auf alle Nachrichten zu antworten:
Fehlerbehebung
Führen Sie zuerst Diagnosebefehle aus:Bot antwortet nicht auf Nachrichten
Zugriffskontrolle prüfen: Stellen Sie sicher, dass Ihre Benutzer-ID inallowFrom enthalten ist, oder entfernen Sie testweise allowFrom und setzen Sie allowedRoles: ["all"].
Prüfen, ob der Bot im Kanal ist: Der Bot muss dem in channel angegebenen Kanal beitreten.
Token-Probleme
„Failed to connect“ oder Authentifizierungsfehler:- Stellen Sie sicher, dass
accessTokender Wert des OAuth access token ist (beginnt typischerweise mit dem Präfixoauth:) - Prüfen Sie, ob das Token die Scopes
chat:readundchat:writehat - Wenn Sie Token-Aktualisierung verwenden, stellen Sie sicher, dass
clientSecretundrefreshTokengesetzt sind
Token-Aktualisierung funktioniert nicht
Prüfen Sie die Logs auf Aktualisierungsereignisse:- Stellen Sie sicher, dass
clientSecretangegeben ist - Stellen Sie sicher, dass
refreshTokenangegeben ist
Konfiguration
Kontokonfiguration:username- Bot-BenutzernameaccessToken- OAuth access token mitchat:readundchat:writeclientId- Twitch Client ID (vom Token Generator oder Ihrer App)channel- Kanal, dem beigetreten werden soll (erforderlich)enabled- Dieses Konto aktivieren (Standard:true)clientSecret- Optional: Für automatische Token-AktualisierungrefreshToken- Optional: Für automatische Token-AktualisierungexpiresIn- Token-Ablauf in SekundenobtainmentTimestamp- Zeitstempel des Token-ErhaltsallowFrom- Benutzer-ID-AllowlistallowedRoles- Rollenbasierte Zugriffskontrolle ("moderator" | "owner" | "vip" | "subscriber" | "all")requireMention- @mention erforderlich (Standard:true)
channels.twitch.enabled- Start des Kanals aktivieren/deaktivierenchannels.twitch.username- Bot-Benutzername (vereinfachte Konfiguration für ein einzelnes Konto)channels.twitch.accessToken- OAuth access token (vereinfachte Konfiguration für ein einzelnes Konto)channels.twitch.clientId- Twitch Client ID (vereinfachte Konfiguration für ein einzelnes Konto)channels.twitch.channel- Kanal, dem beigetreten werden soll (vereinfachte Konfiguration für ein einzelnes Konto)channels.twitch.accounts.<accountName>- Multi-Account-Konfiguration (alle obigen Kontofelder)
Tool-Aktionen
Der Agent kanntwitch mit folgender Aktion aufrufen:
send- Eine Nachricht an einen Kanal senden
Sicherheit & Betrieb
- Behandeln Sie Tokens wie Passwörter - Committen Sie niemals Tokens in Git
- Verwenden Sie automatische Token-Aktualisierung für langfristig laufende Bots
- Verwenden Sie Benutzer-ID-Allowlists statt Benutzernamen für die Zugriffskontrolle
- Überwachen Sie Logs auf Token-Aktualisierungsereignisse und Verbindungsstatus
- Beschränken Sie Tokens auf das Nötigste - Fordern Sie nur
chat:readundchat:writean - Wenn Sie nicht weiterkommen: Starten Sie das Gateway neu, nachdem Sie sichergestellt haben, dass kein anderer Prozess die Sitzung besitzt
Limits
- 500 Zeichen pro Nachricht (automatisch an Wortgrenzen gechunkt)
- Markdown wird vor dem Chunking entfernt
- Keine Ratenbegrenzung (verwendet die integrierten Ratenlimits von Twitch)
Verwandt
- Channels Overview — alle unterstützten Kanäle
- Pairing — DM-Authentifizierung und Pairing-Ablauf
- Groups — Verhalten in Gruppenchats und Mention-Gating
- Channel Routing — Sitzungsrouting für Nachrichten
- Security — Zugriffsmodell und Härtung