Plugin intégré
Twitch est fourni comme Plugin intégré dans les versions actuelles d’OpenClaw ; les builds empaquetés normaux ne nécessitent donc pas d’installation séparée.
- npm registry
- Local checkout
Configuration rapide (débutant)
Ensure plugin is available
Les versions empaquetées actuelles d’OpenClaw l’intègrent déjà. Les installations plus anciennes/personnalisées peuvent l’ajouter manuellement avec les commandes ci-dessus.
Create a Twitch bot account
Créez un compte Twitch dédié pour le bot (ou utilisez un compte existant).
Generate credentials
Utilisez Twitch Token Generator :
- Sélectionnez Bot Token
- Vérifiez que les portées
chat:readetchat:writesont sélectionnées - Copiez le Client ID et l’Access Token
Find your Twitch user ID
Utilisez https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ pour convertir un nom d’utilisateur en ID utilisateur Twitch.
Configure the token
- Env :
OPENCLAW_TWITCH_ACCESS_TOKEN=...(compte par défaut uniquement) - Ou config :
channels.twitch.accessToken
Ce que c’est
- Une chaîne Twitch détenue par le Gateway.
- Routage déterministe : les réponses retournent toujours vers Twitch.
- Chaque compte correspond à une clé de session isolée
agent:<agentId>:twitch:<accountName>. usernameest le compte du bot (celui qui s’authentifie),channelest le salon de chat à rejoindre.
Configuration (détaillée)
Générer les identifiants
Utilisez Twitch Token Generator :- Sélectionnez Bot Token
- Vérifiez que les portées
chat:readetchat:writesont sélectionnées - Copiez le Client ID et l’Access Token
Aucun enregistrement manuel d’application n’est nécessaire. Les jetons expirent après plusieurs heures.
Configurer le bot
- Env var (default account only)
- Config
Contrôle d’accès (recommandé)
allowFrom pour une liste d’autorisation stricte. Utilisez plutôt allowedRoles si vous souhaitez un accès basé sur les rôles.
Rôles disponibles : "moderator", "owner", "vip", "subscriber", "all".
Pourquoi des ID utilisateur ? Les noms d’utilisateur peuvent changer, ce qui permet l’usurpation d’identité. Les ID utilisateur sont permanents.Trouvez votre ID utilisateur Twitch : https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (Convertir votre nom d’utilisateur Twitch en ID)
Actualisation du jeton (facultatif)
Les jetons de Twitch Token Generator ne peuvent pas être actualisés automatiquement ; régénérez-les lorsqu’ils expirent. Pour l’actualisation automatique du jeton, créez votre propre application Twitch dans la Twitch Developer Console et ajoutez ceci à la configuration :Prise en charge multi-comptes
Utilisezchannels.twitch.accounts avec des jetons propres à chaque compte. Consultez Configuration pour le modèle partagé.
Exemple (un compte de bot dans deux chaînes) :
Chaque compte a besoin de son propre jeton (un jeton par chaîne).
Contrôle d’accès
- User ID allowlist (most secure)
- Role-based
- Disable @mention requirement
Dépannage
Commencez par exécuter les commandes de diagnostic :Bot does not respond to messages
Bot does not respond to messages
- Vérifiez le contrôle d’accès : Assurez-vous que votre ID utilisateur figure dans
allowFrom, ou supprimez temporairementallowFromet définissezallowedRoles: ["all"]pour tester. - Vérifiez que le bot est dans la chaîne : Le bot doit rejoindre la chaîne spécifiée dans
channel.
Token issues
Token issues
« Échec de la connexion » ou erreurs d’authentification :
- Vérifiez que
accessTokenest la valeur du jeton d’accès OAuth (elle commence généralement par le préfixeoauth:) - Vérifiez que le jeton possède les portées
chat:readetchat:write - Si vous utilisez l’actualisation du jeton, vérifiez que
clientSecretetrefreshTokensont définis
Token refresh not working
Token refresh not working
Consultez les journaux pour les événements d’actualisation :Si vous voyez « token refresh disabled (no refresh token) » :
- Assurez-vous que
clientSecretest fourni - Assurez-vous que
refreshTokenest fourni
Configuration
Configuration du compte
Nom d’utilisateur du bot.
Jeton d’accès OAuth avec
chat:read et chat:write.Twitch Client ID (depuis Token Generator ou votre application).
Chaîne à rejoindre.
Activer ce compte.
Facultatif : pour l’actualisation automatique du jeton.
Facultatif : pour l’actualisation automatique du jeton.
Expiration du jeton en secondes.
Horodatage d’obtention du jeton.
Liste d’autorisation des ID utilisateur.
Contrôle d’accès basé sur les rôles.
Exiger une @mention.
Options du fournisseur
channels.twitch.enabled- Activer/désactiver le démarrage de la chaînechannels.twitch.username- Nom d’utilisateur du bot (configuration simplifiée à compte unique)channels.twitch.accessToken- Jeton d’accès OAuth (configuration simplifiée à compte unique)channels.twitch.clientId- Twitch Client ID (configuration simplifiée à compte unique)channels.twitch.channel- Chaîne à rejoindre (configuration simplifiée à compte unique)channels.twitch.accounts.<accountName>- Configuration multi-comptes (tous les champs de compte ci-dessus)
Actions d’outil
L’agent peut appelertwitch avec l’action :
send- Envoyer un message à une chaîne
Sécurité et opérations
- Traitez les jetons comme des mots de passe — Ne validez jamais de jetons dans git.
- Utilisez l’actualisation automatique des jetons pour les bots de longue durée.
- Utilisez des listes d’autorisation d’ID utilisateur plutôt que des noms d’utilisateur pour le contrôle d’accès.
- Surveillez les journaux pour les événements d’actualisation des jetons et l’état de connexion.
- Limitez les portées des jetons au minimum — Ne demandez que
chat:readetchat:write. - Si vous êtes bloqué : Redémarrez le Gateway après avoir confirmé qu’aucun autre processus ne possède la session.
Limites
- 500 caractères par message (découpage automatique aux limites de mots).
- Le Markdown est supprimé avant le découpage.
- Aucune limitation de débit (utilise les limites de débit intégrées de Twitch).
Connexe
- Routage des chaînes — routage de session pour les messages
- Vue d’ensemble des chaînes — toutes les chaînes prises en charge
- Groupes — comportement des chats de groupe et filtrage par mention
- Appairage — authentification en DM et flux d’appairage
- Sécurité — modèle d’accès et durcissement