Instalación
Twitch se distribuye como un plugin oficial; no forma parte de la instalación principal.- Registro de npm
- Copia de trabajo local
plugins install registra y habilita el plugin. Al elegir Twitch durante openclaw onboard o openclaw channels add, se instala bajo demanda. Use el nombre del paquete sin versión para seguir la versión actual; fije una versión exacta solo para instalaciones reproducibles. Requiere OpenClaw 2026.4.10 o posterior.
Detalles: Plugins
Configuración rápida
1
Instalar el plugin
Consulte Instalación arriba.
2
Crear una cuenta de bot de Twitch
Cree una cuenta de Twitch dedicada para el bot (o use una cuenta existente).
3
Generar credenciales
Use Twitch Token Generator:
- Seleccione Bot Token
- Verifique que los ámbitos
chat:readychat:writeestén seleccionados - Copie Client ID y Access Token
4
Encontrar su ID de usuario de Twitch
Use https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ para convertir un nombre de usuario en un ID de usuario de Twitch.
5
Configurar el token
- Variable de entorno:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(solo para la cuenta predeterminada) - O configuración:
channels.twitch.accessToken
6
Iniciar el Gateway
Qué es
- Un canal de Twitch propiedad del Gateway.
- Enrutamiento determinista: las respuestas siempre vuelven al canal de Twitch del que procede el mensaje.
- Cada canal al que se une se asigna a una clave de sesión de grupo aislada
agent:<agentId>:twitch:group:<channel>. usernamees la cuenta del bot (la que se autentica);channelindica a qué sala de chat unirse. Cada entrada de cuenta se une exactamente a un canal.- Los tokens funcionan con o sin el prefijo
oauth:; OpenClaw normaliza ambos formatos (el asistente de configuración espera el formatooauth:).
Durabilidad de los mensajes entrantes
OpenClaw pone de forma duradera en cola cada mensaje de chat de Twitch aceptado antes del envío normal. Los mensajes pendientes o reintentables sobreviven a un reinicio del Gateway, permanecen serializados para el canal configurado y usan el ID de mensaje de Twitch para impedir entradas duplicadas en la cola mientras exista el registro de finalización activo o retenido. El chat de Twitch no vuelve a enviar unPRIVMSG después de que el cliente lo haya aceptado. Esto protege la ventana de fallo local entre la aceptación y el envío, pero no permite recuperar mensajes perdidos antes de su admisión duradera. Si falla la propia adición a la cola, OpenClaw registra el fallo; al reconectarse, no solicita a Twitch que vuelva a enviar ese mensaje.
Renovación de tokens (opcional)
OpenClaw no puede renovar los tokens de Twitch Token Generator; genérelos de nuevo cuando caduquen (duran unas horas y no es necesario registrar una aplicación). Para la renovación automática, cree su propia aplicación en Twitch Developer Console y añada:refreshToken, registra token refresh disabled (no refresh token); sin clientSecret, recurre a un token estático (sin renovación).
Compatibilidad con varias cuentas
Usechannels.twitch.accounts con credenciales por cuenta. Consulte Configuración para conocer el patrón compartido.
Ejemplo (una cuenta de bot en dos canales):
Cada entrada de cuenta necesita su propio
accessToken (la variable de entorno solo cubre la cuenta predeterminada). Una cuenta se une exactamente a un canal, por lo que para unirse a dos canales se necesitan dos cuentas. channels.twitch.defaultAccount selecciona qué cuenta es la predeterminada.Control de acceso
allowFrom es una lista estricta de ID de usuario de Twitch permitidos. Cuando se establece, allowedRoles se ignora; deje allowFrom sin establecer para usar en su lugar el acceso basado en roles.
Roles disponibles: "moderator", "owner", "vip", "subscriber", "all".
- Lista de ID de usuario permitidos (más segura)
- Basado en roles
- Deshabilitar el requisito de @mención
¿Por qué ID de usuario? Los nombres de usuario pueden cambiar, lo que permite la suplantación. Los ID de usuario son permanentes.Encuentre el suyo con el conversor de nombre de usuario a ID.
Solución de problemas
Primero, ejecute los comandos de diagnóstico:El bot no responde a los mensajes
El bot no responde a los mensajes
- Compruebe el control de acceso: asegúrese de que su ID de usuario esté en
allowFrom, o elimine temporalmenteallowFromy establezcaallowedRoles: ["all"]para hacer una prueba. - Compruebe el filtro de menciones: con
requireMention: true(valor predeterminado), los mensajes deben incluir una @mención del nombre de usuario del bot. - Compruebe que el bot esté en el canal: el bot solo se une al canal indicado en
channel.
Problemas con los tokens
Problemas con los tokens
Errores de autenticación o “Failed to connect”:
- Verifique que
accessTokensea el valor del token de acceso OAuth (el prefijooauth:es opcional) - Compruebe que el token tenga los ámbitos
chat:readychat:write - Si usa la renovación de tokens, verifique que
clientSecretyrefreshTokenestén establecidos
La renovación de tokens no funciona
La renovación de tokens no funciona
Compruebe los registros para ver los eventos de renovación:Si aparece
token refresh disabled (no refresh token):- Asegúrese de proporcionar
clientSecret - Asegúrese de proporcionar
refreshToken
Configuración
Configuración de la cuenta
string
requerido
Nombre de usuario del bot (la cuenta que se autentica).
string
requerido
Token de acceso OAuth con
chat:read y chat:write (configuración o variable de entorno para la cuenta predeterminada).string
requerido
ID de cliente de Twitch (de Token Generator o de su aplicación). Es opcional en el esquema, pero obligatorio para conectarse.
string
requerido
Canal al que unirse.
boolean
predeterminado:"true"
Habilita esta cuenta.
string
Opcional: para la renovación automática de tokens.
string
Opcional: para la renovación automática de tokens.
number
Caducidad del token en segundos (seguimiento de la renovación).
number
Marca de tiempo de obtención del token (seguimiento de la renovación).
string[]
Lista de ID de usuario permitidos. Cuando se establece, los roles se ignoran.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Control de acceso basado en roles.
boolean
predeterminado:"true"
Requiere una @mención para activar el bot.
string
Sustitución del prefijo de las respuestas salientes para esta cuenta.
Opciones del proveedor
channels.twitch.enabled- Habilita o deshabilita el inicio del canalchannels.twitch.username/accessToken/clientId/channel- Configuración simplificada de una sola cuenta (cuentadefaultimplícita; tiene prioridad sobreaccounts.default)channels.twitch.accounts.<accountName>- Configuración de varias cuentas (todos los campos de cuenta anteriores)channels.twitch.defaultAccount- Nombre de la cuenta predeterminadachannels.twitch.markdown.tables- Modo de representación de tablas Markdown (off|bullets|code|block)
Acciones de herramientas
El agente puede enviar mensajes de Twitch mediante la acciónsend de la herramienta de mensajes:
to es opcional y su valor predeterminado es el channel configurado de la cuenta.
Seguridad y operaciones
- Trate los tokens como contraseñas: nunca confirme tokens en git.
- Utilice la actualización automática de tokens para bots de larga duración.
- Utilice listas de usuarios permitidos basadas en el ID de usuario en lugar de nombres de usuario para el control de acceso.
- Supervise los registros para detectar eventos de actualización de tokens y el estado de la conexión.
- Limite al mínimo el alcance de los tokens: solicite únicamente
chat:readychat:write. - Si el problema persiste: reinicie el Gateway después de confirmar que ningún otro proceso controla la sesión.
Límites
- 500 caracteres por mensaje; las respuestas más largas se dividen respetando los límites entre palabras.
- Markdown se elimina antes del envío (el chat de Twitch es texto sin formato; los saltos de línea se convierten en espacios).
- OpenClaw no añade ninguna limitación de velocidad propia; el cliente de chat Twurple gestiona los límites de velocidad de Twitch.
Contenido relacionado
- Enrutamiento de canales — enrutamiento de sesiones para mensajes
- Descripción general de los canales — todos los canales compatibles
- Grupos — comportamiento del chat grupal y control mediante menciones
- Emparejamiento — autenticación de mensajes directos y flujo de emparejamiento
- Seguridad — modelo de acceso y refuerzo de la seguridad