OpenClaw

Canal Twitch de OpenClaw

Mensajería
Fácil

Conecta OpenClaw al chat de Twitch mediante IRC, permitiendo que tu asistente de IA interactue con los espectadores en tiempo real. Instala el plugin de Twitch, configura un OAuth token con permisos de chat y tu bot podra unirse a canales, responder a menciones y gestionar conversaciones con control de acceso basado en roles.

Info rápida
DificultadFácil
CategoríaMensajería
Funciones compatibles2 / 6

Twitch Funciones compatibles

Mensajes de texto

Compatible

Medios y archivos

No compatible

Reacciones

No compatible

Hilos

No compatible

Mensajes de voz

No compatible

Chat grupal

Compatible

Twitch Requisitos previos

  • Una cuenta de Twitch para usar como identidad del bot
  • Un OAuth Access Token con los permisos chat:read y chat:write
  • Un Client ID de la Consola de Desarrolladores de Twitch
  • OpenClaw Gateway instalado y en ejecucion
  • El plugin de Twitch instalado mediante 'openclaw plugins install @openclaw/twitch'

Twitch Configuración rápida

1

Instalar el plugin de Twitch

Ejecuta 'openclaw plugins install @openclaw/twitch' para agregar compatibilidad con Twitch. Alternativamente, instala desde una ruta local con 'openclaw plugins install ./extensions/twitch'.

2

Obtener tu OAuth token y Client ID

Visita twitchtokengenerator.com y selecciona 'Bot Token' con los permisos chat:read y chat:write. Copia el access token. Tambien obtiene tu Client ID desde la Consola de Desarrolladores de Twitch (dev.twitch.tv/console).

3

Configurar e iniciar

Agrega la configuracion del canal de Twitch en ~/.openclaw/openclaw.json con tu nombre de usuario, accessToken, clientId y el canal de destino. Inicia el Gateway con 'openclaw start' y envia un mensaje mencionando al bot en el canal de Twitch para verificar.

Twitch Ejemplo de configuración

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

Twitch Documentación Detallada

Descripcion general de la arquitectura

OpenClaw se conecta al chat de Twitch utilizando el protocolo IRC. El Gateway se autentica con tu OAuth token, se une al canal especificado y escucha los mensajes. Cuando un espectador envia un mensaje que activa el bot (mediante @mencion por defecto), el Gateway lo reenvia a tu agente de IA. La respuesta se envia de vuelta al mismo canal de Twitch, dividida automaticamente en fragmentos de 500 caracteres por mensaje para cumplir con los limites de Twitch. Cada cuenta se asigna a una clave de sesion unica (agent:<agentId>:twitch:<accountName>), por lo que multiples cuentas pueden operar de forma independiente bajo el mismo Gateway. El formato Markdown se elimina automaticamente antes del envio, ya que el chat de Twitch no lo renderiza.
Las respuestas se enrutan de forma determinista al canal de Twitch del que se originaron.
Los mensajes que superan los 500 caracteres se dividen automaticamente en los limites de palabras.

Obtener tus credenciales

Necesitas tres credenciales para conectarte: un OAuth access token, un Client ID y el nombre de usuario del bot. 1. Ve a twitchtokengenerator.com y selecciona 'Bot Token'. 2. Autoriza el token con los permisos chat:read y chat:write. 3. Copia el access token generado (comienza con 'oauth:'). 4. Para el Client ID, visita la Consola de Desarrolladores de Twitch en dev.twitch.tv/console, registra una aplicacion y copia su Client ID. El access token tambien puede proporcionarse mediante la variable de entorno OPENCLAW_TWITCH_ACCESS_TOKEN. Si tanto la variable de entorno como el valor del archivo de configuracion estan definidos, el archivo de configuracion tiene prioridad.
terminal
# Environment variable (default account only)
export OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123...
Nunca incluyas tu access token en el control de versiones. Utiliza variables de entorno o un gestor de secretos.
Los tokens de twitchtokengenerator.com expiran despues de varias horas. Configura la renovacion automatica para bots de larga ejecucion.

Renovacion automatica de tokens

Los tokens del Twitch Token Generator expiran despues de unas horas. Para bots en produccion, configura la renovacion automatica de tokens para evitar tiempos de inactividad. 1. Registra una aplicacion en la Consola de Desarrolladores de Twitch (dev.twitch.tv/console). 2. Anota el Client Secret y utiliza el flujo OAuth Authorization Code para obtener un refresh token. 3. Agrega clientSecret y refreshToken a la configuracion de tu cuenta. El bot renovara automaticamente el token antes de que expire y registrara los eventos de renovacion para su monitoreo.
openclaw.json
{
  "channels": {
    "twitch": {
      "accessToken": "oauth:abc123...",
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "refreshToken": "your-refresh-token"
    }
  }
}
Sin la renovacion automatica, deberas reemplazar manualmente el token cada vez que expire.

Control de acceso con IDs de usuario

Los nombres de usuario de Twitch pueden cambiar, lo que genera un riesgo de suplantacion de identidad. OpenClaw recomienda encarecidamente utilizar IDs de usuario numericos para el control de acceso en lugar de nombres de usuario. El campo allowFrom acepta un arreglo de IDs de usuario permanentes de Twitch. Solo los usuarios cuyos IDs esten en esta lista podran interactuar con el bot. Todos los demas seran ignorados silenciosamente. Puedes consultar el ID numerico de un usuario utilizando la API de Twitch o herramientas de terceros como twitchinsights.net.
openclaw.json
{
  "channels": {
    "twitch": {
      "allowFrom": ["123456789", "987654321"]
    }
  }
}
Los IDs de usuario son permanentes e inmunes a los cambios de nombre de usuario. Siempre prefiere IDs sobre nombres de usuario por seguridad.

Control de acceso basado en roles

En lugar de (o ademas de) una lista explicita de IDs de usuario permitidos, puedes restringir el acceso por roles del chat de Twitch. El campo allowedRoles acepta un arreglo de nombres de roles. Roles disponibles: * moderator: Moderadores del canal * owner: El broadcaster del canal * vip: Usuarios VIP * subscriber: Suscriptores del canal * all: Todos en el canal (usar con precaucion) Cuando allowedRoles esta configurado, solo los usuarios con al menos un rol coincidente podran interactuar con el bot.
openclaw.json
{
  "channels": {
    "twitch": {
      "allowedRoles": ["moderator", "vip"]
    }
  }
}
Establecer allowedRoles en ['all'] permite que todos los espectadores interactuen con el bot, lo que puede consumir una cantidad significativa de cuota de IA en canales concurridos.

Requisito de mencion

Por defecto, el bot solo responde cuando se le menciona explicitamente con @ en el chat (requireMention: true). Esto evita que el bot responda a todos los mensajes en un canal concurrido. Puedes desactivar este comportamiento estableciendo requireMention en false, lo que hace que el bot responda a todos los mensajes de usuarios permitidos. Esto es util para canales dedicados al bot o transmisiones con poco trafico.
openclaw.json
{
  "channels": {
    "twitch": {
      "requireMention": false
    }
  }
}
Manten requireMention activado en canales concurridos para evitar sobrecargar al bot con cada mensaje del chat.

Configuracion multicuenta

OpenClaw permite ejecutar multiples cuentas de bot de Twitch simultaneamente. Cada cuenta requiere su propio OAuth token y se asigna a un unico canal. Utiliza el patron accounts.<name> para configurar multiples cuentas. Cada cuenta puede tener control de acceso independiente, requisitos de mencion y configuracion de renovacion de tokens.
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"]
        }
      }
    }
  }
}

Acciones de herramientas del agente

Los agentes de IA pueden enviar mensajes de forma proactiva a canales de Twitch utilizando la accion de herramienta twitch. Esto permite a los agentes enviar notificaciones, alertas o mensajes programados sin necesidad de una accion del usuario. La accion requiere un mensaje y un canal de destino (con el prefijo #).
agent-action.json
{
  "action": "twitch",
  "params": {
    "message": "Hello Twitch!",
    "to": "#mychannel"
  }
}
Las acciones de herramientas respetan los mismos limites de frecuencia que los mensajes regulares del chat.

Limites de frecuencia y restricciones de mensajes

Twitch aplica limites de frecuencia estrictos en los mensajes del chat. OpenClaw utiliza los limites de frecuencia integrados de Twitch; no hay una capa adicional de limitacion. Cuentas estandar (no verificadas): * 20 mensajes cada 30 segundos (sin rol de mod/VIP) * 100 mensajes cada 30 segundos (mod/VIP/broadcaster) Cuentas de bot verificadas: * 7,500 mensajes cada 30 segundos Todas las cuentas estan limitadas a 1 mensaje por segundo por canal. Los mensajes que excedan el limite son descartados silenciosamente por Twitch. La longitud maxima de un mensaje es de 500 caracteres. Las respuestas mas largas se dividen automaticamente en los limites de palabras.
Si tu bot excede los limites de frecuencia, Twitch descarta los mensajes silenciosamente sin ningun error. Monitorea la actividad de tu bot en canales concurridos.

Twitch Referencia de Configuración

enabled
Type: booleanDefault: true

Habilitar o deshabilitar el canal de Twitch

username
Type: stringDefault: ""

El nombre de la cuenta de Twitch utilizada por el bot

accessToken
Type: stringDefault: ""

OAuth token con los permisos chat:read y chat:write (debe comenzar con 'oauth:')

clientId
Type: stringDefault: ""

Client ID de la Consola de Desarrolladores de Twitch

channel
Type: stringDefault: ""

Canal de Twitch de destino al que unirse (obligatorio)

clientSecret
Type: stringDefault: ""

Client secret para la renovacion automatica de tokens

refreshToken
Type: stringDefault: ""

Refresh token para la renovacion automatica de tokens

expiresIn
Type: numberDefault:

Duracion de expiracion del token en segundos

obtainmentTimestamp
Type: numberDefault:

Marca de tiempo (ms) de cuando se obtuvo el token actual

allowFrom
Type: string[]Default: []

Lista de IDs de usuario de Twitch permitidos para restriccion de acceso estricta

allowedRoles
Type: string[]Default: []

Control de acceso basado en roles (moderator, owner, vip, subscriber, all)

requireMention
Type: booleanDefault: true

Si el bot requiere una @mencion para responder

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

Nombre de usuario del bot para una cuenta especifica en modo multicuenta

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

OAuth token para una cuenta especifica

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

Canal de destino para una cuenta especifica

Twitch Preguntas Frecuentes

Twitch Solución de Problemas

El bot no responde a los mensajes

La lista allowFrom puede no incluir tu ID de usuario, o el bot no esta detectando la @mencion.

Verifica que tu ID de usuario de Twitch (no el nombre de usuario) este en el arreglo allowFrom. Para pruebas, intenta establecer allowedRoles en ['all']. Comprueba que estas mencionando correctamente al bot con @ si requireMention esta activado.
La autenticacion fallo al iniciar

El OAuth token es invalido, ha expirado o le faltan los permisos requeridos.

Asegurate de que el token comience con 'oauth:' y tenga los permisos chat:read y chat:write. Genera un token nuevo en twitchtokengenerator.com. Revisa los registros del Gateway para mensajes de error especificos.
La renovacion de tokens no funciona

El clientSecret o el refreshToken falta o es incorrecto.

Asegurate de que tanto clientSecret como refreshToken esten proporcionados en la configuracion. El client secret debe coincidir con la aplicacion registrada en dev.twitch.tv/console. Revisa los registros para obtener detalles del error de renovacion de tokens.
Los mensajes se descartan silenciosamente

El bot esta excediendo los limites de frecuencia de Twitch.

Reduce la frecuencia de mensajes. Las cuentas estandar estan limitadas a 20 mensajes cada 30 segundos (100 para moderadores). Considera solicitar el estado de bot verificado para limites mas altos. Verifica si el bot esta generando respuestas demasiado largas que resultan en muchos mensajes fragmentados.
El bot se conecta pero no se une al canal

El nombre del canal puede ser incorrecto o la cuenta ha sido baneada del canal.

Verifica que el nombre del canal sea correcto (en minusculas, sin el prefijo #). Revisa los registros del Gateway para errores de JOIN. Asegurate de que la cuenta del bot no este baneada o en tiempo de espera en el canal de destino.