Installeren
Twitch wordt geleverd als officiële plugin; het maakt geen deel uit van de kerninstallatie.- npm-register
- Lokale checkout
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:readenchat:writezijn 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
6
Start de Gateway
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>. usernameis het account van de bot (dat zich authenticeert),channelis 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 vormoauth:).
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 eenPRIVMSG 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:refreshToken registreert deze token refresh disabled (no refresh token); zonder clientSecret valt deze terug op een statisch (niet-vernieuwend) token.
Ondersteuning voor meerdere accounts
Gebruikchannels.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".
- Toelatingslijst met gebruikers-ID's (veiligst)
- Rolgebaseerd
- Vereiste voor @vermelding uitschakelen
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:Bot reageert niet op berichten
Bot reageert niet op berichten
- Controleer het toegangsbeheer: Zorg dat je gebruikers-ID in
allowFromstaat, of verwijder tijdelijkallowFromen stelallowedRoles: ["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
channelis opgegeven.
Tokenproblemen
Tokenproblemen
Fouten zoals “Kan geen verbinding maken” of authenticatiefouten:
- Controleer of
accessTokende waarde van het OAuth-toegangstoken is (het voorvoegseloauth:is optioneel) - Controleer of het token de scopes
chat:readenchat:writeheeft - Controleer bij gebruik van tokenvernieuwing of
clientSecretenrefreshTokenzijn ingesteld
Tokenvernieuwing werkt niet
Tokenvernieuwing werkt niet
Controleer de logboeken op vernieuwingsgebeurtenissen:Als je
token refresh disabled (no refresh token) ziet:- Zorg dat
clientSecretis opgegeven - Zorg dat
refreshTokenis 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-/uitschakelenchannels.twitch.username/accessToken/clientId/channel- Vereenvoudigde configuratie voor één account (impliciet accountdefault; heeft voorrang opaccounts.default)channels.twitch.accounts.<accountName>- Configuratie voor meerdere accounts (alle bovenstaande accountvelden)channels.twitch.defaultAccount- Welke accountnaam de standaard ischannels.twitch.markdown.tables- Weergavemodus voor Markdown-tabellen (off|bullets|code|block)
Toolacties
De agent kan Twitch-berichten verzenden via de actiesend 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:readenchat:writeaan. - 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
- Kanaalroutering — sessieroutering voor berichten
- Overzicht van kanalen — alle ondersteunde kanalen
- Groepen — gedrag van groepschats en filtering op vermeldingen
- Koppelen — DM-authenticatie en koppelingsproces
- Beveiliging — toegangsmodel en versterking