OpenClaw

Canal Twitch OpenClaw

Messagerie
Facile

Connectez OpenClaw au chat Twitch via IRC, permettant a votre assistant IA d'interagir avec les spectateurs en temps reel. Installez le plugin Twitch, configurez un OAuth token avec les portees de chat, et votre bot pourra rejoindre des salons, repondre aux mentions et gerer les conversations avec un controle d'acces base sur les roles.

Info rapide
DifficultéFacile
CatégorieMessagerie
Fonctionnalités prises en charge2 / 6

Twitch Fonctionnalités prises en charge

Messages texte

Pris en charge

Médias et fichiers

Non pris en charge

Réactions

Non pris en charge

Fils de discussion

Non pris en charge

Messages vocaux

Non pris en charge

Discussion de groupe

Pris en charge

Twitch Prérequis

  • Un compte Twitch a utiliser comme identite du bot
  • Un OAuth Access Token avec les portees chat:read et chat:write
  • Un Client ID provenant de la Twitch Developer Console
  • OpenClaw Gateway installe et en cours d'execution
  • Le plugin Twitch installe via 'openclaw plugins install @openclaw/twitch'

Twitch Configuration rapide

1

Installer le plugin Twitch

Executez 'openclaw plugins install @openclaw/twitch' pour ajouter la prise en charge de Twitch. Vous pouvez egalement installer depuis un chemin local avec 'openclaw plugins install ./extensions/twitch'.

2

Obtenir votre OAuth token et Client ID

Rendez-vous sur twitchtokengenerator.com et selectionnez 'Bot Token' avec les portees chat:read et chat:write. Copiez le access token. Obtenez egalement votre Client ID depuis la Twitch Developer Console (dev.twitch.tv/console).

3

Configurer et lancer

Ajoutez la configuration du canal Twitch dans ~/.openclaw/openclaw.json avec votre username, accessToken, clientId et le canal cible. Demarrez le Gateway avec 'openclaw start' et envoyez un message mentionnant le bot dans le canal Twitch pour verifier le fonctionnement.

Twitch Exemple de configuration

config.json
{
  "channels": {
    "twitch": {
      "enabled": true,
      "username": "mybotname",
      "accessToken": "oauth:abc123...",
      "clientId": "your-client-id",
      "channel": "targetchannel",
      "allowFrom": ["123456789"]
    }
  }
}

Twitch Documentation Détaillée

Vue d'ensemble de l'architecture

OpenClaw se connecte au chat Twitch en utilisant le protocole IRC. Le Gateway s'authentifie avec votre OAuth token, rejoint le canal specifie et ecoute les messages. Lorsqu'un spectateur envoie un message qui declenche le bot (via @mention par defaut), le Gateway le transmet a votre agent IA. La reponse est renvoyee dans le meme canal Twitch, automatiquement decoupee par segments de 500 caracteres pour respecter les limites de Twitch. Chaque compte est associe a une cle de session unique (agent:<agentId>:twitch:<accountName>), permettant a plusieurs comptes de fonctionner independamment sous le meme Gateway. Le Markdown est automatiquement supprime avant l'envoi, car le chat Twitch ne le prend pas en charge.
Les reponses sont systematiquement redirigees vers le canal Twitch d'origine.
Les messages depassant 500 caracteres sont automatiquement decoupes aux limites de mots.

Obtenir vos identifiants

Vous avez besoin de trois identifiants pour vous connecter : un OAuth access token, un Client ID et le nom d'utilisateur du bot. 1. Rendez-vous sur twitchtokengenerator.com et selectionnez 'Bot Token'. 2. Autorisez le token avec les portees chat:read et chat:write. 3. Copiez le access token genere (commence par 'oauth:'). 4. Pour le Client ID, visitez la Twitch Developer Console a l'adresse dev.twitch.tv/console, enregistrez une application et copiez son Client ID. Le access token peut egalement etre fourni via la variable d'environnement OPENCLAW_TWITCH_ACCESS_TOKEN. Si la variable d'environnement et la valeur du fichier de configuration sont toutes deux definies, le fichier de configuration a la priorite.
terminal
# Environment variable (default account only)
export OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123...
Ne commitez jamais votre access token dans le controle de version. Utilisez des variables d'environnement ou un gestionnaire de secrets.
Les tokens de twitchtokengenerator.com expirent apres plusieurs heures. Configurez le rafraichissement automatique pour les bots fonctionnant en continu.

Rafraichissement automatique du token

Les tokens du Twitch Token Generator expirent apres quelques heures. Pour les bots en production, configurez le rafraichissement automatique du token afin d'eviter les interruptions de service. 1. Enregistrez une application sur la Twitch Developer Console (dev.twitch.tv/console). 2. Notez le Client Secret et utilisez le flux OAuth Authorization Code pour obtenir un refresh token. 3. Ajoutez clientSecret et refreshToken a la configuration de votre compte. Le bot rafraichira automatiquement le token avant son expiration et journalisera les evenements de rafraichissement pour le suivi.
openclaw.json
{
  "channels": {
    "twitch": {
      "accessToken": "oauth:abc123...",
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "refreshToken": "your-refresh-token"
    }
  }
}
Sans rafraichissement automatique, vous devrez remplacer manuellement le token a chaque expiration.

Controle d'acces par identifiants utilisateur

Les noms d'utilisateur Twitch peuvent etre modifies, ce qui cree un risque d'usurpation d'identite. OpenClaw recommande fortement d'utiliser les identifiants numeriques des utilisateurs pour le controle d'acces plutot que les noms d'utilisateur. Le champ allowFrom accepte un tableau d'identifiants numeriques Twitch permanents. Seuls les utilisateurs dont les identifiants figurent dans cette liste peuvent interagir avec le bot. Tous les autres sont silencieusement ignores. Vous pouvez rechercher l'identifiant numerique d'un utilisateur via l'API Twitch ou des outils tiers comme twitchinsights.net.
openclaw.json
{
  "channels": {
    "twitch": {
      "allowFrom": ["123456789", "987654321"]
    }
  }
}
Les identifiants utilisateur sont permanents et insensibles aux changements de nom. Privilegiez toujours les identifiants aux noms d'utilisateur pour la securite.

Controle d'acces base sur les roles

En complement (ou en remplacement) d'une liste blanche explicite d'identifiants utilisateur, vous pouvez restreindre l'acces par roles de chat Twitch. Le champ allowedRoles accepte un tableau de noms de roles. Roles disponibles : • moderator — Moderateurs du canal • owner — Le diffuseur du canal • vip — Utilisateurs VIP • subscriber — Abonnes du canal • all — Tous les membres du canal (a utiliser avec precaution) Lorsque allowedRoles est defini, seuls les utilisateurs possedant au moins un role correspondant peuvent interagir avec le bot.
openclaw.json
{
  "channels": {
    "twitch": {
      "allowedRoles": ["moderator", "vip"]
    }
  }
}
Definir allowedRoles sur ['all'] permet a tous les spectateurs d'interagir avec le bot, ce qui peut consommer un quota IA significatif sur les canaux frequentes.

Exigence de mention

Par defaut, le bot ne repond que lorsqu'il est explicitement @mentionne dans le chat (requireMention: true). Cela evite que le bot reponde a chaque message dans un canal tres actif. Vous pouvez desactiver ce comportement en definissant requireMention sur false, ce qui fait repondre le bot a tous les messages des utilisateurs autorises. Cela est utile pour les canaux dedies aux bots ou les streams a faible trafic.
openclaw.json
{
  "channels": {
    "twitch": {
      "requireMention": false
    }
  }
}
Maintenez requireMention active sur les canaux frequentes pour eviter de submerger le bot avec chaque message du chat.

Configuration multi-comptes

OpenClaw prend en charge l'execution simultanee de plusieurs comptes bot Twitch. Chaque compte necessite son propre OAuth token et est associe a un seul canal. Utilisez le modele accounts.<name> pour configurer plusieurs comptes. Chaque compte peut disposer de parametres independants pour le controle d'acces, les exigences de mention et le rafraichissement du token.
openclaw.json
{
  "channels": {
    "twitch": {
      "accounts": {
        "gaming-bot": {
          "username": "gamingbot",
          "accessToken": "oauth:token1...",
          "clientId": "client-id-1",
          "channel": "gamingchannel",
          "allowedRoles": ["subscriber"]
        },
        "mod-bot": {
          "username": "modbot",
          "accessToken": "oauth:token2...",
          "clientId": "client-id-2",
          "channel": "modchannel",
          "allowFrom": ["111222333"]
        }
      }
    }
  }
}

Actions d'outils de l'agent

Les agents IA peuvent envoyer proactivement des messages dans les canaux Twitch en utilisant l'action d'outil twitch. Cela permet aux agents d'envoyer des notifications, des alertes ou des messages programmes sans declenchement par un utilisateur. L'action necessite un message et un canal cible (prefixe par #).
agent-action.json
{
  "action": "twitch",
  "params": {
    "message": "Hello Twitch!",
    "to": "#mychannel"
  }
}
Les actions d'outils respectent les memes limites de debit que les messages de chat classiques.

Limites de debit et contraintes de messages

Twitch applique des limites de debit strictes sur les messages de chat. OpenClaw utilise les limites de debit natives de Twitch — il n'y a pas de couche de limitation supplementaire. Comptes standard (non verifies) : • 20 messages par 30 secondes (non-mod/VIP) • 100 messages par 30 secondes (mod/VIP/diffuseur) Comptes bot verifies : • 7 500 messages par 30 secondes Tous les comptes sont limites a 1 message par seconde par canal. Les messages excedant la limite sont silencieusement ignores par Twitch. La longueur maximale d'un message est de 500 caracteres. Les reponses plus longues sont automatiquement decoupees aux limites de mots.
Si votre bot depasse les limites de debit, Twitch ignore silencieusement les messages sans aucune erreur. Surveillez l'activite de votre bot sur les canaux frequentes.

Twitch Référence de Configuration

enabled
Type: booleanDefault: true

Activer ou desactiver le canal Twitch

username
Type: stringDefault: ""

Le nom du compte Twitch utilise par le bot

accessToken
Type: stringDefault: ""

OAuth token avec les portees chat:read et chat:write (doit commencer par 'oauth:')

clientId
Type: stringDefault: ""

Client ID provenant de la Twitch Developer Console

channel
Type: stringDefault: ""

Canal Twitch cible a rejoindre (obligatoire)

clientSecret
Type: stringDefault: ""

Client secret pour le rafraichissement automatique du token

refreshToken
Type: stringDefault: ""

Refresh token pour le renouvellement automatique du token

expiresIn
Type: numberDefault:

Duree d'expiration du token en secondes

obtainmentTimestamp
Type: numberDefault:

Horodatage (ms) de l'obtention du token actuel

allowFrom
Type: string[]Default: []

Liste blanche d'identifiants utilisateur Twitch pour une restriction d'acces stricte

allowedRoles
Type: string[]Default: []

Controle d'acces base sur les roles (moderator, owner, vip, subscriber, all)

requireMention
Type: booleanDefault: true

Indique si le bot necessite une @mention pour repondre

accounts.<id>.username
Type: stringDefault: ""

Nom d'utilisateur du bot pour un compte specifique en mode multi-comptes

accounts.<id>.accessToken
Type: stringDefault: ""

OAuth token pour un compte specifique

accounts.<id>.channel
Type: stringDefault: ""

Canal cible pour un compte specifique

Twitch Questions Fréquentes

Twitch Dépannage

Le bot ne repond pas — aucune reponse aux messages

La liste allowFrom n'inclut peut-etre pas votre identifiant utilisateur, ou le bot ne detecte pas la @mention.

Verifiez que votre identifiant utilisateur Twitch (et non votre nom d'utilisateur) figure dans le tableau allowFrom. Pour les tests, essayez de definir allowedRoles sur ['all']. Assurez-vous que vous @mentionnez correctement le bot si requireMention est active.
Echec de l'authentification au demarrage

Le OAuth token est invalide, expire ou ne dispose pas des portees requises.

Assurez-vous que le token commence par 'oauth:' et dispose des portees chat:read et chat:write. Generez un nouveau token sur twitchtokengenerator.com. Consultez les logs du Gateway pour les messages d'erreur specifiques.
Le rafraichissement du token ne fonctionne pas

Le clientSecret ou le refreshToken est manquant ou incorrect.

Assurez-vous que clientSecret et refreshToken sont tous deux fournis dans la configuration. Le client secret doit correspondre a l'application enregistree sur dev.twitch.tv/console. Consultez les logs pour les details d'erreur du rafraichissement du token.
Les messages sont silencieusement ignores

Le bot depasse les limites de debit de Twitch.

Reduisez la frequence des messages. Les comptes standard sont limites a 20 messages par 30 secondes (100 pour les moderateurs). Envisagez de demander le statut de bot verifie pour des limites plus elevees. Verifiez si le bot genere des reponses trop longues entrainant de nombreux messages decoupes.
Le bot se connecte mais ne rejoint pas le canal

Le nom du canal est peut-etre incorrect ou le compte a ete banni du canal.

Verifiez que le nom du canal est correct (en minuscules, sans le prefixe #). Consultez les logs du Gateway pour les erreurs JOIN. Assurez-vous que le compte bot n'est pas banni ou temporairement exclu du canal cible.