Skip to main content
Supporto della chat di Twitch tramite l’interfaccia chat (IRC) di Twitch usando il client Twurple. OpenClaw accede con un account bot Twitch, entra in un canale per ogni account configurato e risponde in quel canale.

Installazione

Twitch viene distribuito come Plugin ufficiale; non fa parte dell’installazione principale.
plugins install registra e abilita il Plugin. Selezionando Twitch durante openclaw onboard o openclaw channels add, viene installato su richiesta. Usa il nome del pacchetto senza versione per seguire la release corrente; specifica una versione esatta solo per installazioni riproducibili. Richiede OpenClaw 2026.4.10 o versione successiva. Dettagli: Plugin

Configurazione rapida

1

Installa il Plugin

Consulta la sezione Installazione precedente.
2

Crea un account bot Twitch

Crea un account Twitch dedicato al bot oppure usa un account esistente.
3

Genera le credenziali

Usa Twitch Token Generator:
  • Seleziona Bot Token
  • Verifica che gli ambiti chat:read e chat:write siano selezionati
  • Copia Client ID e Access Token
4

Trova il tuo ID utente Twitch

Usa https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ per convertire un nome utente in un ID utente Twitch.
5

Configura il token

  • Variabile d’ambiente: OPENCLAW_TWITCH_ACCESS_TOKEN=... (solo per l’account predefinito)
  • Oppure configurazione: channels.twitch.accessToken
Se sono impostati entrambi, la configurazione ha la precedenza (la variabile d’ambiente viene usata solo come ripiego per l’account predefinito).
6

Avvia il Gateway

Aggiungi il controllo degli accessi (allowFrom o allowedRoles) per impedire agli utenti non autorizzati di attivare il bot. Il valore predefinito di requireMention è true.
Configurazione minima:

Cos’è

  • Un canale Twitch gestito dal Gateway.
  • Instradamento deterministico: le risposte vengono sempre inviate al canale Twitch da cui proviene il messaggio.
  • Ogni canale a cui si accede corrisponde a una chiave di sessione di gruppo isolata agent:<agentId>:twitch:group:<channel>.
  • username è l’account del bot che esegue l’autenticazione, mentre channel è la chat a cui accedere. Ogni voce di account accede esattamente a un canale.
  • I token funzionano con o senza il prefisso oauth:; OpenClaw normalizza entrambe le forme (la procedura guidata di configurazione richiede la forma con oauth:).

Aggiornamento del token (facoltativo)

I token ottenuti da Twitch Token Generator non possono essere aggiornati da OpenClaw: rigenerali quando scadono (durano alcune ore e non richiedono la registrazione di un’app). Per l’aggiornamento automatico, crea una tua app nella Console per sviluppatori Twitch e aggiungi:
Quando entrambi sono impostati, il Plugin usa un provider di autenticazione con aggiornamento automatico, che rinnova i token prima della scadenza e registra ogni aggiornamento. Senza refreshToken, registra token refresh disabled (no refresh token); senza clientSecret, torna a usare un token statico, privo di aggiornamento automatico.

Supporto multi-account

Usa channels.twitch.accounts con credenziali specifiche per ogni account. Consulta Configurazione per il modello condiviso. Esempio (un account bot in due canali):
Ogni voce di account richiede un proprio accessToken (la variabile d’ambiente copre solo l’account predefinito). Un account accede esattamente a un canale, quindi per accedere a due canali sono necessari due account. channels.twitch.defaultAccount seleziona l’account predefinito.

Controllo degli accessi

allowFrom è un elenco di autorizzazione rigido di ID utente Twitch. Quando è impostato, allowedRoles viene ignorato; lascia allowFrom non impostato per usare invece l’accesso basato sui ruoli. Ruoli disponibili: "moderator", "owner", "vip", "subscriber", "all".
Perché gli ID utente? I nomi utente possono cambiare, consentendo la sostituzione d’identità. Gli ID utente sono permanenti.Trova il tuo con il convertitore da nome utente a ID.

Risoluzione dei problemi

Per prima cosa, esegui i comandi diagnostici:
  • Controlla il controllo degli accessi: assicurati che il tuo ID utente sia presente in allowFrom oppure, temporaneamente, rimuovi allowFrom e imposta allowedRoles: ["all"] per eseguire una prova.
  • Controlla il vincolo della menzione: con requireMention: true (valore predefinito), i messaggi devono contenere una @menzione del nome utente del bot.
  • Controlla che il bot sia nel canale: il bot accede solo al canale specificato in channel.
Errori "Failed to connect" o di autenticazione:
  • Verifica che accessToken contenga il valore del token di accesso OAuth (il prefisso oauth: è facoltativo)
  • Controlla che il token disponga degli ambiti chat:read e chat:write
  • Se usi l’aggiornamento del token, verifica che clientSecret e refreshToken siano impostati
Controlla nei registri gli eventi di aggiornamento:
Se viene visualizzato token refresh disabled (no refresh token):
  • Assicurati che clientSecret sia specificato
  • Assicurati che refreshToken sia specificato

Configurazione

Configurazione dell’account

string
obbligatorio
Nome utente del bot, ossia l’account che esegue l’autenticazione.
string
obbligatorio
Token di accesso OAuth con chat:read e chat:write (tramite configurazione o variabile d’ambiente per l’account predefinito).
string
obbligatorio
ID client Twitch (da Token Generator o dalla tua app). Facoltativo nello schema, ma obbligatorio per la connessione.
string
obbligatorio
Canale a cui accedere.
boolean
predefinito:"true"
Abilita questo account.
string
Facoltativo: per l’aggiornamento automatico del token.
string
Facoltativo: per l’aggiornamento automatico del token.
number
Scadenza del token in secondi (monitoraggio dell’aggiornamento).
number
Indicatore temporale dell’ottenimento del token (monitoraggio dell’aggiornamento).
string[]
Elenco di autorizzazione degli ID utente. Quando è impostato, i ruoli vengono ignorati.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Controllo degli accessi basato sui ruoli.
boolean
predefinito:"true"
Richiede una @menzione per attivare il bot.
string
Sostituzione del prefisso delle risposte in uscita per questo account.

Opzioni del provider

  • channels.twitch.enabled - Abilita o disabilita l’avvio del canale
  • channels.twitch.username / accessToken / clientId / channel - Configurazione semplificata per un singolo account (account default implicito; ha la precedenza su accounts.default)
  • channels.twitch.accounts.<accountName> - Configurazione multi-account (tutti i campi dell’account indicati sopra)
  • channels.twitch.defaultAccount - Nome dell’account predefinito
  • channels.twitch.markdown.tables - Modalità di rendering delle tabelle Markdown (off | bullets | code | block)
Esempio completo:

Azioni degli strumenti

L’agente può inviare messaggi Twitch tramite l’azione send dello strumento di messaggistica:
to è facoltativo e usa come valore predefinito il channel configurato per l’account.

Sicurezza e operatività

  • Tratta i token come password: non eseguire mai il commit dei token in git.
  • Usa l’aggiornamento automatico del token per i bot in esecuzione prolungata.
  • Usa elenchi di autorizzazione degli ID utente anziché nomi utente per il controllo degli accessi.
  • Monitora i registri per gli eventi di aggiornamento del token e lo stato della connessione.
  • Riduci al minimo gli ambiti dei token: richiedi solo chat:read e chat:write.
  • In caso di blocco: riavvia il Gateway dopo aver verificato che nessun altro processo sia proprietario della sessione.

Limiti

  • 500 caratteri per messaggio; le risposte più lunghe vengono suddivise in corrispondenza dei confini tra parole.
  • Markdown viene rimosso prima dell’invio (la chat di Twitch usa testo normale; le interruzioni di riga diventano spazi).
  • OpenClaw non aggiunge una propria limitazione della frequenza; il client di chat Twurple gestisce i limiti di frequenza di Twitch.

Argomenti correlati