Twitch
Suporte a chat da Twitch via conexão IRC. O OpenClaw se conecta como um usuário da Twitch (conta de bot) para receber e enviar mensagens em canais.Plugin incluído
A Twitch é distribuída como um plugin incluído nas versões atuais do OpenClaw, então compilações empacotadas normais não precisam de uma instalação separada. Se você estiver em uma compilação mais antiga ou em uma instalação personalizada que exclua a Twitch, instale manualmente: Instalar via CLI (registro npm):Configuração rápida (iniciante)
- Verifique se o plugin da Twitch está disponível.
- As versões empacotadas atuais do OpenClaw já o incluem.
- Instalações antigas/personalizadas podem adicioná-lo manualmente com os comandos acima.
- Crie uma conta dedicada da Twitch para o bot (ou use uma conta existente).
- Gere credenciais: Twitch Token Generator
- Selecione Bot Token
- Verifique se os escopos
chat:readechat:writeestão selecionados - Copie o Client ID e o Access Token
- Encontre seu ID de usuário da Twitch: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
- Configure o token:
- Env:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(apenas conta padrão) - Ou config:
channels.twitch.accessToken - Se ambos estiverem definidos, a config terá precedência (o fallback por env é apenas para a conta padrão).
- Env:
- Inicie o gateway.
allowFrom ou allowedRoles) para impedir que usuários não autorizados acionem o bot. requireMention usa true por padrão.
Configuração mínima:
O que é
- Um canal da Twitch pertencente ao Gateway.
- Roteamento determinístico: as respostas sempre voltam para a Twitch.
- Cada conta é mapeada para uma chave de sessão isolada
agent:<agentId>:twitch:<accountName>. usernameé a conta do bot (quem autentica),channelé qual sala de chat deve ser acessada.
Configuração (detalhada)
Gerar credenciais
Use Twitch Token Generator:- Selecione Bot Token
- Verifique se os escopos
chat:readechat:writeestão selecionados - Copie o Client ID e o Access Token
Configurar o bot
Variável de ambiente (apenas conta padrão):Controle de acesso (recomendado)
allowFrom para uma lista de permissões rígida. Use allowedRoles em vez disso se quiser acesso baseado em função.
Funções disponíveis: "moderator", "owner", "vip", "subscriber", "all".
Por que IDs de usuário? Nomes de usuário podem mudar, permitindo impersonação. IDs de usuário são permanentes.
Encontre seu ID de usuário da Twitch: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (Converta seu nome de usuário da Twitch em ID)
Renovação de token (opcional)
Tokens do Twitch Token Generator não podem ser renovados automaticamente — gere novamente quando expirarem. Para renovação automática de token, crie seu próprio aplicativo Twitch em Twitch Developer Console e adicione à config:Suporte a várias contas
Usechannels.twitch.accounts com tokens por conta. Consulte gateway/configuration para o padrão compartilhado.
Exemplo (uma conta de bot em dois canais):
Controle de acesso
Restrições baseadas em função
Lista de permissões por ID de usuário (mais seguro)
Acesso baseado em função (alternativa)
allowFrom é uma lista de permissões rígida. Quando definido, apenas esses IDs de usuário são permitidos.
Se você quiser acesso baseado em função, deixe allowFrom sem definir e configure allowedRoles em vez disso:
Desativar a exigência de @mention
Por padrão,requireMention é true. Para desativar e responder a todas as mensagens:
Solução de problemas
Primeiro, execute os comandos de diagnóstico:O bot não responde às mensagens
Verifique o controle de acesso: certifique-se de que seu ID de usuário esteja emallowFrom ou remova temporariamente
allowFrom e defina allowedRoles: ["all"] para testar.
Verifique se o bot está no canal: o bot deve entrar no canal especificado em channel.
Problemas com token
“Failed to connect” ou erros de autenticação:- Verifique se
accessTokené o valor do token de acesso OAuth (normalmente começa com o prefixooauth:) - Verifique se o token tem os escopos
chat:readechat:write - Se estiver usando renovação de token, verifique se
clientSecreterefreshTokenestão definidos
A renovação de token não funciona
Verifique os logs para eventos de renovação:- Verifique se
clientSecretfoi fornecido - Verifique se
refreshTokenfoi fornecido
Config
Config da conta:username- nome de usuário do botaccessToken- token de acesso OAuth comchat:readechat:writeclientId- Client ID da Twitch (do Token Generator ou do seu app)channel- canal ao qual entrar (obrigatório)enabled- ativa esta conta (padrão:true)clientSecret- opcional: para renovação automática de tokenrefreshToken- opcional: para renovação automática de tokenexpiresIn- vencimento do token em segundosobtainmentTimestamp- carimbo de data/hora de obtenção do tokenallowFrom- lista de permissões de IDs de usuárioallowedRoles- controle de acesso baseado em função ("moderator" | "owner" | "vip" | "subscriber" | "all")requireMention- exige @mention (padrão:true)
channels.twitch.enabled- ativar/desativar a inicialização do canalchannels.twitch.username- nome de usuário do bot (config simplificada de conta única)channels.twitch.accessToken- token de acesso OAuth (config simplificada de conta única)channels.twitch.clientId- Client ID da Twitch (config simplificada de conta única)channels.twitch.channel- canal ao qual entrar (config simplificada de conta única)channels.twitch.accounts.<accountName>- config de várias contas (todos os campos de conta acima)
Ações da ferramenta
O agente pode chamartwitch com a ação:
send- enviar uma mensagem para um canal
Segurança e operações
- Trate tokens como senhas - nunca faça commit de tokens no git
- Use renovação automática de token para bots de longa duração
- Use listas de permissões por ID de usuário em vez de nomes de usuário para controle de acesso
- Monitore os logs para eventos de renovação de token e status de conexão
- Use o escopo mínimo para tokens - solicite apenas
chat:readechat:write - Se travar: reinicie o gateway após confirmar que nenhum outro processo possui a sessão
Limites
- 500 caracteres por mensagem (divididos automaticamente em limites de palavras)
- Markdown é removido antes da divisão
- Sem limitação de taxa (usa os limites de taxa integrados da Twitch)
Relacionado
- Channels Overview — todos os canais compatíveis
- Pairing — autenticação por DM e fluxo de pareamento
- Groups — comportamento de chat em grupo e bloqueio por menção
- Channel Routing — roteamento de sessão para mensagens
- Security — modelo de acesso e reforço de segurança