Installation
Twitch est distribué en tant que Plugin officiel ; il ne fait pas partie de l’installation principale.- Registre npm
- Copie de travail locale
plugins install enregistre et active le Plugin. Sélectionner Twitch pendant openclaw onboard ou openclaw channels add l’installe à la demande. Utilisez le nom de paquet seul pour suivre la version actuelle ; épinglez une version exacte uniquement pour obtenir des installations reproductibles. Nécessite OpenClaw 2026.4.10 ou une version ultérieure.
Détails : Plugins
Configuration rapide
1
Installer le Plugin
Consultez la section Installation ci-dessus.
2
Créer un compte de bot Twitch
Créez un compte Twitch dédié au bot (ou utilisez un compte existant).
3
Générer les identifiants
Utilisez Twitch Token Generator :
- Sélectionnez Bot Token
- Vérifiez que les autorisations
chat:readetchat:writesont sélectionnées - Copiez le Client ID et l’Access Token
4
Trouver votre identifiant utilisateur Twitch
Utilisez https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ pour convertir un nom d’utilisateur en identifiant utilisateur Twitch.
5
Configurer le jeton
- Variable d’environnement :
OPENCLAW_TWITCH_ACCESS_TOKEN=...(compte par défaut uniquement) - Ou configuration :
channels.twitch.accessToken
6
Démarrer le Gateway
Présentation
- Un canal Twitch détenu par le Gateway.
- Routage déterministe : les réponses sont toujours renvoyées vers le canal Twitch d’où provient le message.
- Chaque canal rejoint correspond à une clé de session de groupe isolée
agent:<agentId>:twitch:group:<channel>. usernamedésigne le compte du bot (celui qui s’authentifie) etchannelle salon de discussion à rejoindre. Chaque entrée de compte rejoint exactement un canal.- Les jetons fonctionnent avec ou sans le préfixe
oauth:; OpenClaw normalise les deux formes (l’assistant de configuration attend la formeoauth:).
Actualisation du jeton (facultatif)
Les jetons provenant de Twitch Token Generator ne peuvent pas être actualisés par OpenClaw : régénérez-les lorsqu’ils expirent (ils durent quelques heures ; aucun enregistrement d’application n’est nécessaire). Pour une actualisation automatique, créez votre propre application dans la console de développement Twitch et ajoutez :refreshToken, il journalise token refresh disabled (no refresh token) ; sans clientSecret, il utilise à la place un jeton statique (non actualisé).
Prise en charge de plusieurs comptes
Utilisezchannels.twitch.accounts avec des identifiants propres à chaque compte. Consultez Configuration pour connaître le modèle commun.
Exemple (un compte de bot dans deux canaux) :
Chaque entrée de compte nécessite son propre
accessToken (la variable d’environnement couvre uniquement le compte par défaut). Un compte rejoint exactement un canal ; rejoindre deux canaux nécessite donc deux comptes. channels.twitch.defaultAccount détermine le compte par défaut.Contrôle d’accès
allowFrom est une liste d’autorisation stricte d’identifiants utilisateur Twitch. Lorsqu’elle est définie, allowedRoles est ignoré ; ne définissez pas allowFrom pour utiliser à la place l’accès fondé sur les rôles.
Rôles disponibles : "moderator", "owner", "vip", "subscriber", "all".
- Liste d’autorisation d’identifiants utilisateur (la plus sûre)
- Fondé sur les rôles
- Désactiver l’exigence de mention @
Pourquoi utiliser des identifiants utilisateur ? Les noms d’utilisateur peuvent changer, ce qui permet l’usurpation d’identité. Les identifiants utilisateur sont permanents.Trouvez le vôtre à l’aide du convertisseur de nom d’utilisateur en identifiant.
Dépannage
Commencez par exécuter les commandes de diagnostic :Le bot ne répond pas aux messages
Le bot ne répond pas aux messages
- Vérifiez le contrôle d’accès : assurez-vous que votre identifiant utilisateur figure dans
allowFrom, ou supprimez temporairementallowFromet définissezallowedRoles: ["all"]pour effectuer un test. - Vérifiez le filtre de mention : avec
requireMention: true(valeur par défaut), les messages doivent mentionner le nom d’utilisateur du bot avec @. - Vérifiez que le bot se trouve dans le canal : le bot rejoint uniquement le canal indiqué dans
channel.
Problèmes de jeton
Problèmes de jeton
Erreurs
Failed to connect ou erreurs d’authentification :- Vérifiez que
accessTokencontient la valeur du jeton d’accès OAuth (le préfixeoauth:est facultatif) - Vérifiez que le jeton possède les autorisations
chat:readetchat:write - Si vous utilisez l’actualisation du jeton, vérifiez que
clientSecretetrefreshTokensont définis
L’actualisation du jeton ne fonctionne pas
L’actualisation du jeton ne fonctionne pas
Recherchez les événements d’actualisation dans les journaux :Si vous voyez
token refresh disabled (no refresh token) :- Assurez-vous que
clientSecretest fourni - Assurez-vous que
refreshTokenest fourni
Configuration
Configuration du compte
string
requis
Nom d’utilisateur du bot (le compte utilisé pour l’authentification).
string
requis
Jeton d’accès OAuth avec
chat:read et chat:write (configuration ou variable d’environnement pour le compte par défaut).string
requis
Identifiant client Twitch (provenant du générateur de jetons ou de votre application). Facultatif dans le schéma, mais obligatoire pour se connecter.
string
requis
Canal à rejoindre.
boolean
défaut:"true"
Active ce compte.
string
Facultatif : permet l’actualisation automatique du jeton.
string
Facultatif : permet l’actualisation automatique du jeton.
number
Délai d’expiration du jeton en secondes (suivi de l’actualisation).
number
Horodatage de l’obtention du jeton (suivi de l’actualisation).
string[]
Liste d’autorisation d’identifiants utilisateur. Lorsqu’elle est définie, les rôles sont ignorés.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Contrôle d’accès fondé sur les rôles.
boolean
défaut:"true"
Exige une mention @ pour déclencher le bot.
string
Remplacement du préfixe des réponses sortantes pour ce compte.
Options du fournisseur
channels.twitch.enabled- Activer ou désactiver le démarrage du canalchannels.twitch.username/accessToken/clientId/channel- Configuration simplifiée pour un seul compte (comptedefaultimplicite ; prioritaire suraccounts.default)channels.twitch.accounts.<accountName>- Configuration de plusieurs comptes (tous les champs de compte ci-dessus)channels.twitch.defaultAccount- Nom du compte utilisé par défautchannels.twitch.markdown.tables- Mode de rendu des tableaux Markdown (off|bullets|code|block)
Actions de l’outil
L’agent peut envoyer des messages Twitch au moyen de l’actionsend de l’outil de messagerie :
to est facultatif et utilise par défaut le channel configuré pour le compte.
Sécurité et exploitation
- Traitez les jetons comme des mots de passe : ne validez jamais de jetons dans git.
- Utilisez l’actualisation automatique des jetons pour les bots fonctionnant sur de longues périodes.
- Utilisez des listes d’autorisation d’identifiants utilisateur plutôt que des noms d’utilisateur pour le contrôle d’accès.
- Surveillez les journaux pour suivre les événements d’actualisation des jetons et l’état de la connexion.
- Limitez autant que possible la portée des jetons : demandez uniquement
chat:readetchat:write. - En cas de blocage : redémarrez le Gateway après avoir vérifié qu’aucun autre processus ne détient la session.
Limites
- 500 caractères par message ; les réponses plus longues sont découpées aux limites des mots.
- Le Markdown est supprimé avant l’envoi (le chat Twitch utilise du texte brut ; les sauts de ligne deviennent des espaces).
- OpenClaw n’ajoute aucune limitation de débit propre ; le client de chat Twurple gère les limites de débit de Twitch.
Pages connexes
- Routage des canaux — routage des sessions pour les messages
- Vue d’ensemble des canaux — tous les canaux pris en charge
- Groupes — comportement des discussions de groupe et filtrage par mention
- Appairage — authentification par message privé et processus d’appairage
- Sécurité — modèle d’accès et renforcement de la sécurité