Twitch
Compatibilidad con el chat de Twitch mediante conexión IRC. OpenClaw se conecta como un usuario de Twitch (cuenta de bot) para recibir y enviar mensajes en canales.Plugin incluido
Twitch se incluye como plugin integrado en las versiones actuales de OpenClaw, por lo que las compilaciones empaquetadas normales no necesitan una instalación separada. Si estás usando una compilación antigua o una instalación personalizada que excluye Twitch, instálalo manualmente: Instalar mediante la CLI (registro npm):Configuración rápida (principiante)
- Asegúrate de que el plugin de Twitch esté disponible.
- Las versiones empaquetadas actuales de OpenClaw ya lo incluyen.
- Las instalaciones antiguas/personalizadas pueden agregarlo manualmente con los comandos anteriores.
- Crea una cuenta de Twitch dedicada para el bot (o usa una cuenta existente).
- Genera credenciales: Twitch Token Generator
- Selecciona Bot Token
- Verifica que estén seleccionados los permisos
chat:readychat:write - Copia el Client ID y el Access Token
- Encuentra tu ID de usuario de Twitch: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
- Configura el token:
- Variable de entorno:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(solo cuenta predeterminada) - O configuración:
channels.twitch.accessToken - Si ambos están configurados, la configuración tiene prioridad (la variable de entorno como respaldo es solo para la cuenta predeterminada).
- Variable de entorno:
- Inicia el gateway.
allowFrom o allowedRoles) para impedir que usuarios no autorizados activen el bot. requireMention tiene como valor predeterminado true.
Configuración mínima:
Qué es
- Un canal de Twitch gestionado por el Gateway.
- Enrutamiento determinista: las respuestas siempre vuelven a Twitch.
- Cada cuenta se asigna a una clave de sesión aislada
agent:<agentId>:twitch:<accountName>. usernamees la cuenta del bot (la que se autentica),channeles la sala de chat a la que se une.
Configuración (detallada)
Generar credenciales
Usa Twitch Token Generator:- Selecciona Bot Token
- Verifica que estén seleccionados los permisos
chat:readychat:write - Copia el Client ID y el Access Token
Configurar el bot
Variable de entorno (solo cuenta predeterminada):Control de acceso (recomendado)
allowFrom para una allowlist estricta. Usa allowedRoles en su lugar si quieres control de acceso basado en roles.
Roles disponibles: "moderator", "owner", "vip", "subscriber", "all".
¿Por qué ID de usuario? Los nombres de usuario pueden cambiar, lo que permite la suplantación. Los ID de usuario son permanentes.
Encuentra tu ID de usuario de Twitch: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (Convierte tu nombre de usuario de Twitch en ID)
Renovación de token (opcional)
Los tokens de Twitch Token Generator no se pueden renovar automáticamente; regénéralos cuando caduquen. Para la renovación automática de tokens, crea tu propia aplicación de Twitch en Twitch Developer Console y agrega a la configuración:Compatibilidad con varias cuentas
Usachannels.twitch.accounts con tokens por cuenta. Consulta gateway/configuration para ver el patrón compartido.
Ejemplo (una cuenta de bot en dos canales):
Control de acceso
Restricciones basadas en roles
Allowlist por ID de usuario (más segura)
Acceso basado en roles (alternativa)
allowFrom es una allowlist estricta. Cuando está configurada, solo se permiten esos ID de usuario.
Si quieres acceso basado en roles, deja allowFrom sin configurar y usa allowedRoles en su lugar:
Deshabilitar el requisito de @mention
De forma predeterminada,requireMention es true. Para deshabilitarlo y responder a todos los mensajes:
Solución de problemas
Primero, ejecuta los comandos de diagnóstico:El bot no responde a los mensajes
Comprueba el control de acceso: asegúrate de que tu ID de usuario esté enallowFrom, o elimina temporalmente allowFrom y configura allowedRoles: ["all"] para hacer una prueba.
Comprueba que el bot esté en el canal: el bot debe unirse al canal especificado en channel.
Problemas con el token
“Failed to connect” o errores de autenticación:- Verifica que
accessTokensea el valor del token de acceso OAuth (normalmente comienza con el prefijooauth:) - Comprueba que el token tenga los permisos
chat:readychat:write - Si usas renovación de token, verifica que
clientSecretyrefreshTokenestén configurados
La renovación del token no funciona
Comprueba los logs para ver eventos de renovación:- Asegúrate de que
clientSecretesté proporcionado - Asegúrate de que
refreshTokenesté proporcionado
Configuración
Configuración de cuenta:username- Nombre de usuario del botaccessToken- Token de acceso OAuth conchat:readychat:writeclientId- Twitch Client ID (de Token Generator o de tu app)channel- Canal al que unirse (obligatorio)enabled- Habilitar esta cuenta (predeterminado:true)clientSecret- Opcional: para la renovación automática del tokenrefreshToken- Opcional: para la renovación automática del tokenexpiresIn- Caducidad del token en segundosobtainmentTimestamp- Marca de tiempo de obtención del tokenallowFrom- Allowlist de ID de usuarioallowedRoles- Control de acceso basado en roles ("moderator" | "owner" | "vip" | "subscriber" | "all")requireMention- Requerir @mention (predeterminado:true)
channels.twitch.enabled- Habilitar/deshabilitar el inicio del canalchannels.twitch.username- Nombre de usuario del bot (configuración simplificada de cuenta única)channels.twitch.accessToken- Token de acceso OAuth (configuración simplificada de cuenta única)channels.twitch.clientId- Twitch Client ID (configuración simplificada de cuenta única)channels.twitch.channel- Canal al que unirse (configuración simplificada de cuenta única)channels.twitch.accounts.<accountName>- Configuración multicuenta (todos los campos de cuenta anteriores)
Acciones de herramientas
El agente puede llamar atwitch con la acción:
send- Enviar un mensaje a un canal
Seguridad y operaciones
- Trata los tokens como contraseñas - Nunca hagas commit de tokens en git
- Usa renovación automática de tokens para bots de larga duración
- Usa allowlists de ID de usuario en lugar de nombres de usuario para el control de acceso
- Supervisa los logs para ver eventos de renovación de token y estado de conexión
- Limita al mínimo el alcance de los tokens - Solicita solo
chat:readychat:write - Si te bloqueas: reinicia el gateway después de confirmar que ningún otro proceso posee la sesión
Límites
- 500 caracteres por mensaje (fragmentación automática en límites de palabras)
- El markdown se elimina antes de fragmentar
- Sin limitación de velocidad (usa los límites de velocidad integrados de Twitch)
Relacionado
- Channels Overview — todos los canales compatibles
- Pairing — autenticación de mensajes directos y flujo de pairing
- Groups — comportamiento de chats grupales y control por menciones
- Channel Routing — enrutamiento de sesiones para mensajes
- Security — modelo de acceso y endurecimiento