OpenClaw

OpenClaw Twitch Kanal

Messaging
Einfach

Verbinden Sie OpenClaw mit dem Twitch-Chat via IRC, damit Ihr KI-Assistent in Echtzeit mit Zuschauern interagieren kann. Installieren Sie das Twitch-Plugin, konfigurieren Sie ein OAuth Token mit Chat-Berechtigungen, und Ihr Bot kann Channels beitreten, auf Erwahnungen antworten und Konversationen mit rollenbasierter Zugriffskontrolle verwalten.

Kurzinfo
SchwierigkeitsgradEinfach
KategorieMessaging
Unterstützte Funktionen2 / 6

Twitch Unterstützte Funktionen

Textnachrichten

Unterstützt

Medien & Dateien

Nicht unterstützt

Reaktionen

Nicht unterstützt

Threads

Nicht unterstützt

Sprachnachrichten

Nicht unterstützt

Gruppenchat

Unterstützt

Twitch Voraussetzungen

  • Ein Twitch-Konto, das als Bot-Identitat verwendet wird
  • Ein OAuth Access Token mit den Berechtigungen chat:read und chat:write
  • Eine Client ID aus der Twitch Developer Console
  • OpenClaw Gateway installiert und betriebsbereit
  • Das Twitch-Plugin installiert via 'openclaw plugins install @openclaw/twitch'

Twitch Schnelleinrichtung

1

Twitch-Plugin installieren

Fuehren Sie 'openclaw plugins install @openclaw/twitch' aus, um Twitch-Unterstuetzung hinzuzufuegen. Alternativ koennen Sie das Plugin aus einem lokalen Pfad installieren mit 'openclaw plugins install ./extensions/twitch'.

2

OAuth Token und Client ID beschaffen

Besuchen Sie twitchtokengenerator.com und waehlen Sie 'Bot Token' mit den Berechtigungen chat:read und chat:write. Kopieren Sie das Access Token. Beschaffen Sie ausserdem Ihre Client ID aus der Twitch Developer Console (dev.twitch.tv/console).

3

Konfigurieren und starten

Fuegen Sie die Twitch-Channel-Konfiguration zu ~/.openclaw/openclaw.json mit Ihrem Benutzernamen, accessToken, clientId und Ziel-Channel hinzu. Starten Sie das Gateway mit 'openclaw start' und senden Sie eine Nachricht mit Erwaehnung des Bots im Twitch-Channel, um die Funktion zu pruefen.

Twitch Konfigurationsbeispiel

config.json
{
  "channels": {
    "twitch": {
      "enabled": true,
      "username": "mybotname",
      "accessToken": "oauth:abc123...",
      "clientId": "your-client-id",
      "channel": "targetchannel",
      "allowFrom": ["123456789"]
    }
  }
}

Twitch Detaillierte Dokumentation

Architekturuebersicht

OpenClaw verbindet sich mit dem Twitch-Chat ueber das IRC-Protokoll. Das Gateway authentifiziert sich mit Ihrem OAuth Token, tritt dem angegebenen Channel bei und wartet auf Nachrichten. Wenn ein Zuschauer eine Nachricht sendet, die den Bot ausloest (standardmaessig per @Erwaehnung), leitet das Gateway diese an Ihren KI-Agenten weiter. Die Antwort wird an denselben Twitch-Channel zurueckgesendet und automatisch bei 500 Zeichen pro Nachricht aufgeteilt, um die Twitch-Limits einzuhalten. Jedes Konto wird einem eindeutigen Sitzungsschluessel zugeordnet (agent:<agentId>:twitch:<accountName>), sodass mehrere Konten unabhaengig voneinander unter demselben Gateway betrieben werden koennen. Markdown wird vor dem Senden automatisch entfernt, da der Twitch-Chat kein Markdown darstellt.
Antworten werden deterministisch an den Twitch-Channel zurueckgeleitet, aus dem sie stammen.
Nachrichten mit mehr als 500 Zeichen werden automatisch an Wortgrenzen aufgeteilt.

Zugangsdaten beschaffen

Sie benoetigen drei Zugangsdaten fuer die Verbindung: ein OAuth Access Token, eine Client ID und den Benutzernamen des Bots. 1. Gehen Sie zu twitchtokengenerator.com und waehlen Sie 'Bot Token'. 2. Autorisieren Sie das Token mit den Berechtigungen chat:read und chat:write. 3. Kopieren Sie das generierte Access Token (beginnt mit 'oauth:'). 4. Fuer die Client ID besuchen Sie die Twitch Developer Console unter dev.twitch.tv/console, registrieren Sie eine Anwendung und kopieren Sie deren Client ID. Das Access Token kann auch ueber die Umgebungsvariable OPENCLAW_TWITCH_ACCESS_TOKEN bereitgestellt werden. Wenn sowohl die Umgebungsvariable als auch der Wert in der Konfigurationsdatei gesetzt sind, hat die Konfigurationsdatei Vorrang.
terminal
# Environment variable (default account only)
export OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123...
Committen Sie Ihr Access Token niemals in die Versionskontrolle. Verwenden Sie Umgebungsvariablen oder einen Secrets-Manager.
Tokens von twitchtokengenerator.com laufen nach einigen Stunden ab. Richten Sie fuer langlebige Bots eine automatische Erneuerung ein.

Automatische Token-Erneuerung

Tokens vom Twitch Token Generator laufen nach einigen Stunden ab. Fuer Produktions-Bots sollten Sie die automatische Token-Erneuerung konfigurieren, um Ausfallzeiten zu vermeiden. 1. Registrieren Sie eine Anwendung in der Twitch Developer Console (dev.twitch.tv/console). 2. Notieren Sie sich das Client Secret und verwenden Sie den OAuth Authorization Code Flow, um ein Refresh Token zu erhalten. 3. Fuegen Sie clientSecret und refreshToken zu Ihrer Konto-Konfiguration hinzu. Der Bot erneuert das Token automatisch vor dessen Ablauf und protokolliert Erneuerungsereignisse zur Ueberwachung.
openclaw.json
{
  "channels": {
    "twitch": {
      "accessToken": "oauth:abc123...",
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "refreshToken": "your-refresh-token"
    }
  }
}
Ohne automatische Erneuerung muessen Sie das Token bei jedem Ablauf manuell ersetzen.

Zugriffskontrolle mit User IDs

Twitch-Benutzernamen koennen geaendert werden, was ein Identitaetsdiebstahl-Risiko darstellt. OpenClaw empfiehlt dringend, numerische User IDs anstelle von Benutzernamen fuer die Zugriffskontrolle zu verwenden. Das Feld allowFrom akzeptiert ein Array permanenter Twitch User IDs. Nur Benutzer, deren IDs in dieser Liste enthalten sind, koennen mit dem Bot interagieren. Alle anderen werden stillschweigend ignoriert. Sie koennen die numerische ID eines Benutzers ueber die Twitch API oder Drittanbieter-Tools wie twitchinsights.net nachschlagen.
openclaw.json
{
  "channels": {
    "twitch": {
      "allowFrom": ["123456789", "987654321"]
    }
  }
}
User IDs sind permanent und immun gegen Namensaenderungen. Bevorzugen Sie aus Sicherheitsgruenden immer IDs gegenueber Benutzernamen.

Rollenbasierte Zugriffskontrolle

Anstelle von (oder zusaetzlich zu) einer expliziten User-ID-Allowlist koennen Sie den Zugriff auf Basis von Twitch-Chat-Rollen einschraenken. Das Feld allowedRoles akzeptiert ein Array von Rollennamen. Verfuegbare Rollen: • moderator — Channel-Moderatoren • owner — Der Channel-Broadcaster • vip — VIP-Benutzer • subscriber — Channel-Abonnenten • all — Alle im Channel (mit Vorsicht verwenden) Wenn allowedRoles gesetzt ist, koennen nur Benutzer mit mindestens einer passenden Rolle mit dem Bot interagieren.
openclaw.json
{
  "channels": {
    "twitch": {
      "allowedRoles": ["moderator", "vip"]
    }
  }
}
Wenn Sie allowedRoles auf ['all'] setzen, kann jeder Zuschauer mit dem Bot interagieren, was auf stark frequentierten Channels erhebliches KI-Kontingent verbrauchen kann.

Erwaehnung erforderlich

Standardmaessig antwortet der Bot nur, wenn er im Chat explizit per @Erwaehnung angesprochen wird (requireMention: true). Dies verhindert, dass der Bot auf jede Nachricht in einem stark frequentierten Channel reagiert. Sie koennen dieses Verhalten deaktivieren, indem Sie requireMention auf false setzen, wodurch der Bot auf alle Nachrichten von berechtigten Benutzern antwortet. Dies ist nuetzlich fuer dedizierte Bot-Channels oder Streams mit geringem Aufkommen.
openclaw.json
{
  "channels": {
    "twitch": {
      "requireMention": false
    }
  }
}
Lassen Sie requireMention auf stark frequentierten Channels aktiviert, um den Bot nicht mit jeder Chat-Nachricht zu ueberlasten.

Multi-Account-Einrichtung

OpenClaw unterstuetzt den gleichzeitigen Betrieb mehrerer Twitch-Bot-Konten. Jedes Konto benoetigt sein eigenes OAuth Token und ist einem einzelnen Channel zugeordnet. Verwenden Sie das Muster accounts.<name>, um mehrere Konten zu konfigurieren. Jedes Konto kann ueber unabhaengige Zugriffskontrolle, Erwaehnung-Anforderungen und Token-Erneuerungseinstellungen verfuegen.
openclaw.json
{
  "channels": {
    "twitch": {
      "accounts": {
        "gaming-bot": {
          "username": "gamingbot",
          "accessToken": "oauth:token1...",
          "clientId": "client-id-1",
          "channel": "gamingchannel",
          "allowedRoles": ["subscriber"]
        },
        "mod-bot": {
          "username": "modbot",
          "accessToken": "oauth:token2...",
          "clientId": "client-id-2",
          "channel": "modchannel",
          "allowFrom": ["111222333"]
        }
      }
    }
  }
}

Agent-Tool-Aktionen

KI-Agenten koennen proaktiv Nachrichten an Twitch-Channels senden, indem sie die twitch-Tool-Aktion verwenden. Dies ermoeglicht es Agenten, Benachrichtigungen, Warnungen oder geplante Nachrichten ohne Benutzerausloeser zu senden. Die Aktion erfordert eine Nachricht und einen Ziel-Channel (mit vorangestelltem #).
agent-action.json
{
  "action": "twitch",
  "params": {
    "message": "Hello Twitch!",
    "to": "#mychannel"
  }
}
Tool-Aktionen unterliegen denselben Ratenbegrenzungen wie regulaere Chat-Nachrichten.

Ratenbegrenzungen und Nachrichtenbeschraenkungen

Twitch erzwingt strenge Ratenbegrenzungen fuer Chat-Nachrichten. OpenClaw verwendet die in Twitch integrierte Ratenbegrenzung — es gibt keine zusaetzliche Ratenbegrenzungsschicht. Standard-Konten (nicht verifiziert): • 20 Nachrichten pro 30 Sekunden (ohne Mod/VIP-Status) • 100 Nachrichten pro 30 Sekunden (Mod/VIP/Broadcaster) Verifizierte Bot-Konten: • 7.500 Nachrichten pro 30 Sekunden Alle Konten sind auf 1 Nachricht pro Sekunde pro Channel begrenzt. Nachrichten, die das Limit ueberschreiten, werden von Twitch stillschweigend verworfen. Die maximale Nachrichtenlaenge betraegt 500 Zeichen. Laengere Antworten werden automatisch an Wortgrenzen aufgeteilt.
Wenn Ihr Bot die Ratenbegrenzungen ueberschreitet, verwirft Twitch Nachrichten stillschweigend ohne Fehlermeldung. Ueberwachen Sie die Aktivitaet Ihres Bots auf stark frequentierten Channels.

Twitch Konfigurationsreferenz

enabled
Type: booleanDefault: true

Den Twitch-Kanal aktivieren oder deaktivieren

username
Type: stringDefault: ""

Der Twitch-Kontoname, der vom Bot verwendet wird

accessToken
Type: stringDefault: ""

OAuth Token mit den Berechtigungen chat:read und chat:write (muss mit 'oauth:' beginnen)

clientId
Type: stringDefault: ""

Client ID aus der Twitch Developer Console

channel
Type: stringDefault: ""

Ziel-Twitch-Channel zum Beitreten (erforderlich)

clientSecret
Type: stringDefault: ""

Client Secret fuer die automatische Token-Erneuerung

refreshToken
Type: stringDefault: ""

Refresh Token fuer die automatische Token-Erneuerung

expiresIn
Type: numberDefault:

Ablaufdauer des Tokens in Sekunden

obtainmentTimestamp
Type: numberDefault:

Zeitstempel (ms), wann das aktuelle Token bezogen wurde

allowFrom
Type: string[]Default: []

Twitch User-ID-Allowlist fuer strikte Zugriffsbeschraenkung

allowedRoles
Type: string[]Default: []

Rollenbasierte Zugriffskontrolle (moderator, owner, vip, subscriber, all)

requireMention
Type: booleanDefault: true

Ob der Bot eine @Erwaehnung benoetigt, um zu antworten

accounts.<id>.username
Type: stringDefault: ""

Bot-Benutzername fuer ein bestimmtes Konto im Multi-Account-Modus

accounts.<id>.accessToken
Type: stringDefault: ""

OAuth Token fuer ein bestimmtes Konto

accounts.<id>.channel
Type: stringDefault: ""

Ziel-Channel fuer ein bestimmtes Konto

Twitch Häufig gestellte Fragen

Twitch Fehlerbehebung

Bot reagiert nicht — antwortet nicht auf Nachrichten

Die allowFrom-Liste enthaelt moeglicherweise nicht Ihre User ID, oder der Bot erkennt die @Erwaehnung nicht.

Stellen Sie sicher, dass Ihre Twitch User ID (nicht Ihr Benutzername) im allowFrom-Array enthalten ist. Zum Testen koennen Sie allowedRoles auf ['all'] setzen. Pruefen Sie, ob Sie den Bot korrekt per @Erwaehnung ansprechen, wenn requireMention aktiviert ist.
Authentifizierung beim Start fehlgeschlagen

Das OAuth Token ist ungueltig, abgelaufen oder verfuegt nicht ueber die erforderlichen Berechtigungen.

Stellen Sie sicher, dass das Token mit 'oauth:' beginnt und ueber die Berechtigungen chat:read und chat:write verfuegt. Generieren Sie ein neues Token auf twitchtokengenerator.com. Pruefen Sie die Gateway-Logs auf spezifische Fehlermeldungen.
Token-Erneuerung funktioniert nicht

Das clientSecret oder refreshToken fehlt oder ist fehlerhaft.

Stellen Sie sicher, dass sowohl clientSecret als auch refreshToken in der Konfiguration angegeben sind. Das Client Secret muss mit der in dev.twitch.tv/console registrierten Anwendung uebereinstimmen. Pruefen Sie die Logs auf Details zu Token-Erneuerungsfehlern.
Nachrichten werden stillschweigend verworfen

Der Bot ueberschreitet die Ratenbegrenzungen von Twitch.

Reduzieren Sie die Nachrichtenfrequenz. Standard-Konten sind auf 20 Nachrichten pro 30 Sekunden begrenzt (100 fuer Moderatoren). Erwaegen Sie die Beantragung des verifizierten Bot-Status fuer hoehere Limits. Pruefen Sie, ob der Bot uebermassig lange Antworten generiert, die zu vielen aufgeteilten Nachrichten fuehren.
Bot verbindet sich, tritt aber dem Channel nicht bei

Der Channel-Name ist moeglicherweise falsch oder das Konto wurde aus dem Channel gebannt.

Stellen Sie sicher, dass der Channel-Name korrekt ist (Kleinbuchstaben, ohne #-Praefix). Pruefen Sie die Gateway-Logs auf JOIN-Fehler. Stellen Sie sicher, dass das Bot-Konto im Ziel-Channel nicht gebannt oder mit einem Timeout belegt ist.