Skip to main content
Suporte ao chat da Twitch pela interface de chat (IRC) da Twitch usando o cliente Twurple. O OpenClaw entra com uma conta de bot da Twitch, participa de um canal por conta configurada e responde nesse canal.

Instalação

A Twitch é distribuída como um plugin oficial; ela não faz parte da instalação principal.
plugins install registra e ativa o plugin. Selecionar Twitch durante openclaw onboard ou openclaw channels add instala o plugin sob demanda. Use apenas o nome do pacote para acompanhar a versão atual; fixe uma versão exata somente para instalações reproduzíveis. Requer o OpenClaw 2026.4.10 ou mais recente. Detalhes: Plugins

Configuração rápida

1

Instale o plugin

Consulte Instalação acima.
2

Crie uma conta de bot da Twitch

Crie uma conta dedicada da Twitch para o bot (ou use uma conta existente).
3

Gere as credenciais

Use o Twitch Token Generator:
  • Selecione Bot Token
  • Verifique se os escopos chat:read e chat:write estão selecionados
  • Copie o Client ID e o Access Token
4

Encontre seu ID de usuário da Twitch

Use https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ para converter um nome de usuário em um ID de usuário da Twitch.
5

Configure o token

  • Variável de ambiente: OPENCLAW_TWITCH_ACCESS_TOKEN=... (somente para a conta padrão)
  • Ou configuração: channels.twitch.accessToken
Se ambos estiverem definidos, a configuração terá precedência (a variável de ambiente será apenas uma alternativa para a conta padrão).
6

Inicie o Gateway

Adicione controle de acesso (allowFrom ou allowedRoles) para impedir que usuários não autorizados acionem o bot. O valor padrão de requireMention é true.
Configuração mínima:

O que é

  • Um canal da Twitch gerenciado pelo Gateway.
  • Roteamento determinístico: as respostas sempre retornam ao canal da Twitch de onde veio a mensagem.
  • Cada canal do qual o bot participa é associado a uma chave de sessão de grupo isolada: agent:<agentId>:twitch:group:<channel>.
  • username é a conta do bot (que faz a autenticação), enquanto channel é a sala de chat da qual ele participará. Cada entrada de conta participa de exatamente um canal.
  • Os tokens funcionam com ou sem o prefixo oauth:; o OpenClaw normaliza os dois formatos (o assistente de configuração espera o formato com oauth:).

Renovação de token (opcional)

Os tokens do Twitch Token Generator não podem ser renovados pelo OpenClaw — gere outro quando o token expirar (eles duram algumas horas; não é necessário registrar um aplicativo). Para a renovação automática, crie seu próprio aplicativo no Twitch Developer Console e adicione:
Com ambos definidos, o plugin usa um provedor de autenticação com renovação que renova os tokens antes da expiração e registra cada renovação. Sem refreshToken, ele registra token refresh disabled (no refresh token); sem clientSecret, ele usa como alternativa um token estático (sem renovação).

Suporte a várias contas

Use channels.twitch.accounts com credenciais específicas para cada conta. Consulte Configuração para conhecer o padrão compartilhado. Exemplo (uma conta de bot em dois canais):
Cada entrada de conta precisa do próprio accessToken (a variável de ambiente abrange somente a conta padrão). Uma conta participa de exatamente um canal; portanto, participar de dois canais exige duas contas. channels.twitch.defaultAccount seleciona qual conta será a padrão.

Controle de acesso

allowFrom é uma lista rígida de IDs de usuário da Twitch permitidos. Quando ela está definida, allowedRoles é ignorado; deixe allowFrom sem definição para usar o acesso baseado em funções. Funções disponíveis: "moderator", "owner", "vip", "subscriber", "all".
Por que IDs de usuário? Os nomes de usuário podem mudar, permitindo falsificação de identidade. Os IDs de usuário são permanentes.Encontre o seu com o conversor de nome de usuário em ID.

Solução de problemas

Primeiro, execute os comandos de diagnóstico:
  • Verifique o controle de acesso: certifique-se de que seu ID de usuário esteja em allowFrom ou remova temporariamente allowFrom e defina allowedRoles: ["all"] para testar.
  • Verifique a exigência de menção: com requireMention: true (padrão), as mensagens devem usar @menção ao nome de usuário do bot.
  • Verifique se o bot está no canal: o bot participa somente do canal indicado em channel.
Erros de autenticação ou “Failed to connect”:
  • Verifique se accessToken contém o valor do token de acesso OAuth (o prefixo oauth: é opcional)
  • Verifique se o token tem os escopos chat:read e chat:write
  • Se estiver usando renovação de token, verifique se clientSecret e refreshToken estão definidos
Verifique os registros em busca de eventos de renovação:
Se você vir token refresh disabled (no refresh token):
  • Verifique se clientSecret foi fornecido
  • Verifique se refreshToken foi fornecido

Configuração

Configuração da conta

string
obrigatório
Nome de usuário do bot (a conta que faz a autenticação).
string
obrigatório
Token de acesso OAuth com chat:read e chat:write (configuração ou variável de ambiente para a conta padrão).
string
obrigatório
ID do cliente da Twitch (do Token Generator ou do seu aplicativo). Opcional no esquema, mas obrigatório para estabelecer conexão.
string
obrigatório
Canal do qual participar.
boolean
padrão:"true"
Ativa esta conta.
string
Opcional: usado para a renovação automática do token.
string
Opcional: usado para a renovação automática do token.
number
Expiração do token em segundos (acompanhamento da renovação).
number
Carimbo de data e hora em que o token foi obtido (acompanhamento da renovação).
string[]
Lista de IDs de usuário permitidos. Quando definida, as funções são ignoradas.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Controle de acesso baseado em funções.
boolean
padrão:"true"
Exige @menção para acionar o bot.
string
Substituição do prefixo das respostas enviadas por esta conta.

Opções do provedor

  • channels.twitch.enabled - Ativa/desativa a inicialização do canal
  • channels.twitch.username / accessToken / clientId / channel - Configuração simplificada de uma única conta (conta default implícita; tem precedência sobre accounts.default)
  • channels.twitch.accounts.<accountName> - Configuração de várias contas (todos os campos de conta acima)
  • channels.twitch.defaultAccount - Nome da conta que será a padrão
  • channels.twitch.markdown.tables - Modo de renderização de tabelas Markdown (off | bullets | code | block)
Exemplo completo:

Ações da ferramenta

O agente pode enviar mensagens da Twitch por meio da ação send da ferramenta de mensagens:
to é opcional e usa como padrão o channel configurado da conta.

Segurança e operações

  • Trate os tokens como senhas — nunca faça commit de tokens no Git.
  • Use a renovação automática de tokens para bots executados por longos períodos.
  • Use listas de IDs de usuário permitidos em vez de nomes de usuário para controle de acesso.
  • Monitore os registros para acompanhar eventos de renovação de token e o status da conexão.
  • Restrinja os escopos dos tokens ao mínimo — solicite somente chat:read e chat:write.
  • Se estiver com dificuldades: reinicie o Gateway depois de confirmar que nenhum outro processo é proprietário da sessão.

Limites

  • 500 caracteres por mensagem; respostas mais longas são divididas nos limites entre palavras.
  • O Markdown é removido antes do envio (o chat da Twitch usa texto simples; quebras de linha tornam-se espaços).
  • O OpenClaw não adiciona limitação de taxa própria; o cliente de chat Twurple gerencia os limites de taxa da Twitch.

Conteúdo relacionado