Skip to main content
Twitch-chatondersteuning via de chatinterface (IRC) van Twitch met de Twurple-client. OpenClaw meldt zich aan met een Twitch-botaccount, neemt per geconfigureerd account deel aan één kanaal en antwoordt in dat kanaal.

Installeren

Twitch wordt geleverd als officiële plugin; het maakt geen deel uit van de kerninstallatie.
plugins install registreert en activeert de plugin. Als je Twitch kiest tijdens openclaw onboard of openclaw channels add, wordt deze op aanvraag geïnstalleerd. Gebruik alleen de pakketnaam om de huidige release te volgen; zet alleen voor reproduceerbare installaties een exacte versie vast. Vereist OpenClaw 2026.4.10 of nieuwer. Details: Plugins

Snelle configuratie

1

Installeer de plugin

Zie Installeren hierboven.
2

Maak een Twitch-botaccount

Maak een afzonderlijk Twitch-account voor de bot (of gebruik een bestaand account).
3

Genereer aanmeldgegevens

Gebruik Twitch Token Generator:
  • Selecteer Bot Token
  • Controleer of de scopes chat:read en chat:write zijn geselecteerd
  • Kopieer de Client ID en Access Token
4

Zoek je Twitch-gebruikers-ID

Gebruik https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ om een gebruikersnaam naar een Twitch-gebruikers-ID om te zetten.
5

Configureer het token

  • Omgevingsvariabele: OPENCLAW_TWITCH_ACCESS_TOKEN=... (alleen standaardaccount)
  • Of configuratie: channels.twitch.accessToken
Als beide zijn ingesteld, heeft de configuratie voorrang (de omgevingsvariabele dient alleen als terugvaloptie voor het standaardaccount).
6

Start de Gateway

Voeg toegangsbeheer toe (allowFrom of allowedRoles) om te voorkomen dat onbevoegde gebruikers de bot activeren. requireMention is standaard true.
Minimale configuratie:

Wat het is

  • Een Twitch-kanaal dat eigendom is van de Gateway.
  • Deterministische routering: antwoorden gaan altijd terug naar het Twitch-kanaal waaruit het bericht afkomstig is.
  • Elk kanaal waaraan wordt deelgenomen, wordt toegewezen aan een geïsoleerde groepssessiesleutel agent:<agentId>:twitch:group:<channel>.
  • username is het account van de bot (dat zich authenticeert), channel is de chatruimte waaraan wordt deelgenomen. Elke accountvermelding neemt aan precies één kanaal deel.
  • Tokens werken met of zonder het voorvoegsel oauth:; OpenClaw normaliseert beide vormen (de configuratiewizard verwacht de vorm oauth:).

Duurzaamheid van inkomende berichten

OpenClaw plaatst elk geaccepteerd Twitch-chatbericht duurzaam in de wachtrij vóór de normale verwerking. Berichten die in behandeling zijn of opnieuw kunnen worden geprobeerd, blijven behouden na een herstart van de Gateway, worden voor het geconfigureerde kanaal sequentieel verwerkt en gebruiken de bericht-ID van Twitch om dubbele wachtrijvermeldingen te onderdrukken zolang de actieve of bewaarde voltooiingsregistratie bestaat. Twitch-chat speelt een PRIVMSG niet opnieuw af nadat de client het heeft geaccepteerd. Dit beschermt het lokale crashvenster tussen acceptatie en verwerking, maar kan geen berichten herstellen die vóór duurzame opname zijn gemist. Als het toevoegen aan de wachtrij zelf mislukt, registreert OpenClaw de fout; opnieuw verbinding maken vraagt Twitch niet om dat bericht opnieuw te verzenden.

Tokenvernieuwing (optioneel)

Tokens van Twitch Token Generator kunnen niet door OpenClaw worden vernieuwd. Genereer ze opnieuw wanneer ze zijn verlopen (ze blijven enkele uren geldig; er is geen appregistratie nodig). Maak voor automatische vernieuwing je eigen app in de Twitch Developer Console en voeg het volgende toe:
Als beide zijn ingesteld, gebruikt de plugin een vernieuwende authenticatieprovider die tokens vóór het verlopen vernieuwt en elke vernieuwing registreert. Zonder refreshToken registreert deze token refresh disabled (no refresh token); zonder clientSecret valt deze terug op een statisch (niet-vernieuwend) token.

Ondersteuning voor meerdere accounts

Gebruik channels.twitch.accounts met aanmeldgegevens per account. Zie Configuratie voor het gedeelde patroon. Voorbeeld (één botaccount in twee kanalen):
Elke accountvermelding heeft een eigen accessToken nodig (de omgevingsvariabele geldt alleen voor het standaardaccount). Een account neemt aan precies één kanaal deel, dus voor deelname aan twee kanalen zijn twee accounts nodig. channels.twitch.defaultAccount bepaalt welk account het standaardaccount is.

Toegangsbeheer

allowFrom is een strikte toelatingslijst van Twitch-gebruikers-ID’s. Wanneer deze is ingesteld, wordt allowedRoles genegeerd; laat allowFrom oningesteld om in plaats daarvan rolgebaseerde toegang te gebruiken. Beschikbare rollen: "moderator", "owner", "vip", "subscriber", "all".
Waarom gebruikers-ID’s? Gebruikersnamen kunnen veranderen, waardoor imitatie mogelijk is. Gebruikers-ID’s zijn permanent.Zoek die van jou met de omzetter van gebruikersnaam naar ID.

Problemen oplossen

Voer eerst diagnostische opdrachten uit:
  • Controleer het toegangsbeheer: Zorg dat je gebruikers-ID in allowFrom staat, of verwijder tijdelijk allowFrom en stel allowedRoles: ["all"] in om te testen.
  • Controleer de vermeldingspoort: Met requireMention: true (standaard) moeten berichten de gebruikersnaam van de bot met een @vermelden.
  • Controleer of de bot in het kanaal aanwezig is: De bot neemt alleen deel aan het kanaal dat in channel is opgegeven.
Fouten zoals “Kan geen verbinding maken” of authenticatiefouten:
  • Controleer of accessToken de waarde van het OAuth-toegangstoken is (het voorvoegsel oauth: is optioneel)
  • Controleer of het token de scopes chat:read en chat:write heeft
  • Controleer bij gebruik van tokenvernieuwing of clientSecret en refreshToken zijn ingesteld
Controleer de logboeken op vernieuwingsgebeurtenissen:
Als je token refresh disabled (no refresh token) ziet:
  • Zorg dat clientSecret is opgegeven
  • Zorg dat refreshToken is opgegeven

Configuratie

Accountconfiguratie

string
vereist
Gebruikersnaam van de bot (het account dat zich authenticeert).
string
vereist
OAuth-toegangstoken met chat:read en chat:write (configuratie of omgevingsvariabele voor het standaardaccount).
string
vereist
Twitch-client-ID (uit Token Generator of je app). Optioneel in het schema, maar vereist om verbinding te maken.
string
vereist
Kanaal waaraan moet worden deelgenomen.
boolean
standaard:"true"
Activeer dit account.
string
Optioneel: voor automatische tokenvernieuwing.
string
Optioneel: voor automatische tokenvernieuwing.
number
Vervaltijd van het token in seconden (bijhouden van vernieuwing).
number
Tijdstempel waarop het token is verkregen (bijhouden van vernieuwing).
string[]
Toelatingslijst met gebruikers-ID’s. Wanneer deze is ingesteld, worden rollen genegeerd.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Rolgebaseerd toegangsbeheer.
boolean
standaard:"true"
Vereis een @vermelding om de bot te activeren.
string
Overschrijving van het voorvoegsel voor uitgaande antwoorden voor dit account.

Provideropties

  • channels.twitch.enabled - Opstarten van het kanaal in-/uitschakelen
  • channels.twitch.username / accessToken / clientId / channel - Vereenvoudigde configuratie voor één account (impliciet account default; heeft voorrang op accounts.default)
  • channels.twitch.accounts.<accountName> - Configuratie voor meerdere accounts (alle bovenstaande accountvelden)
  • channels.twitch.defaultAccount - Welke accountnaam de standaard is
  • channels.twitch.markdown.tables - Weergavemodus voor Markdown-tabellen (off | bullets | code | block)
Volledig voorbeeld:

Toolacties

De agent kan Twitch-berichten verzenden via de actie send van de berichtentool:
to is optioneel en gebruikt standaard de geconfigureerde channel van het account.

Veiligheid en beheer

  • Behandel tokens als wachtwoorden - commit tokens nooit naar git.
  • Gebruik automatische tokenvernieuwing voor bots die langdurig actief zijn.
  • Gebruik toelatingslijsten met gebruikers-ID’s in plaats van gebruikersnamen voor toegangsbeheer.
  • Controleer logboeken op gebeurtenissen rond tokenvernieuwing en de verbindingsstatus.
  • Beperk het bereik van tokens tot het minimum - vraag alleen chat:read en chat:write aan.
  • Als je vastloopt: start de Gateway opnieuw nadat je hebt gecontroleerd dat geen ander proces eigenaar is van de sessie.

Limieten

  • 500 tekens per bericht; langere antwoorden worden bij woordgrenzen opgesplitst.
  • Markdown wordt vóór verzending verwijderd (Twitch-chat bestaat uit platte tekst; nieuwe regels worden spaties).
  • OpenClaw voegt zelf geen snelheidsbeperking toe; de Twurple-chatclient handelt de snelheidslimieten van Twitch af.

Gerelateerd