Canal Twitch do OpenClaw
Conecte o OpenClaw ao chat da Twitch via IRC, permitindo que seu assistente de IA interaja com os espectadores em tempo real. Instale o plugin da Twitch, configure um OAuth token com escopos de chat, e seu bot poderá entrar em canais, responder a menções e gerenciar conversas com controle de acesso baseado em cargos.
Twitch Recursos suportados
Mensagens de texto
Suportado
Mídia e arquivos
Não suportado
Reações
Não suportado
Threads
Não suportado
Mensagens de voz
Não suportado
Chat em grupo
Suportado
Twitch Pré-requisitos
- Uma conta Twitch para usar como identidade do bot
- Um OAuth Access Token com escopos chat:read e chat:write
- Um Client ID do Twitch Developer Console
- OpenClaw Gateway instalado e em execução
- O plugin da Twitch instalado via 'openclaw plugins install @openclaw/twitch'
Twitch Configuração rápida
Instalar o plugin da Twitch
Execute 'openclaw plugins install @openclaw/twitch' para adicionar suporte à Twitch. Alternativamente, instale a partir de um caminho local com 'openclaw plugins install ./extensions/twitch'.
Obter seu OAuth token e Client ID
Acesse twitchtokengenerator.com e selecione 'Bot Token' com escopos chat:read e chat:write. Copie o access token. Também obtenha seu Client ID no Twitch Developer Console (dev.twitch.tv/console).
Configurar e iniciar
Adicione a configuração do canal Twitch em ~/.openclaw/openclaw.json com seu username, accessToken, clientId e canal de destino. Inicie o Gateway com 'openclaw start' e envie uma mensagem mencionando o bot no canal da Twitch para verificar.
Twitch Exemplo de configuração
{
"channels": {
"twitch": {
"enabled": true,
"username": "mybotname",
"accessToken": "oauth:abc123...",
"clientId": "your-client-id",
"channel": "targetchannel",
"allowFrom": ["123456789"]
}
}
}Twitch Documentação Detalhada
Visão Geral da Arquitetura
Obtendo Suas Credenciais
# Environment variable (default account only)
export OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123...Atualização Automática de Token
{
"channels": {
"twitch": {
"accessToken": "oauth:abc123...",
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"refreshToken": "your-refresh-token"
}
}
}Controle de Acesso com IDs de Usuário
{
"channels": {
"twitch": {
"allowFrom": ["123456789", "987654321"]
}
}
}Controle de Acesso Baseado em Cargos
{
"channels": {
"twitch": {
"allowedRoles": ["moderator", "vip"]
}
}
}Requisito de Menção
{
"channels": {
"twitch": {
"requireMention": false
}
}
}Configuração Multi-Conta
{
"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"]
}
}
}
}
}Ações de Ferramentas do Agente
{
"action": "twitch",
"params": {
"message": "Hello Twitch!",
"to": "#mychannel"
}
}Limites de Taxa e Restrições de Mensagens
Twitch Referência de Configuração
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Ativar ou desativar o canal Twitch |
| username | string | "" | Nome da conta Twitch usada pelo bot |
| accessToken | string | "" | OAuth token com escopos chat:read e chat:write (deve começar com 'oauth:') |
| clientId | string | "" | Client ID do Twitch Developer Console |
| channel | string | "" | Canal Twitch de destino para entrar (obrigatório) |
| clientSecret | string | "" | Client secret para atualização automática de token |
| refreshToken | string | "" | Refresh token para renovação automática de token |
| expiresIn | number | — | Duração de expiração do token em segundos |
| obtainmentTimestamp | number | — | Timestamp (ms) de quando o token atual foi obtido |
| allowFrom | string[] | [] | Lista de permissão de IDs de usuário da Twitch para restrição de acesso rígida |
| allowedRoles | string[] | [] | Controle de acesso baseado em cargos (moderator, owner, vip, subscriber, all) |
| requireMention | boolean | true | Se o bot requer uma @menção para responder |
| accounts.<id>.username | string | "" | Nome de usuário do bot para uma conta específica no modo multi-conta |
| accounts.<id>.accessToken | string | "" | OAuth token para uma conta específica |
| accounts.<id>.channel | string | "" | Canal de destino para uma conta específica |
Ativar ou desativar o canal Twitch
Nome da conta Twitch usada pelo bot
OAuth token com escopos chat:read e chat:write (deve começar com 'oauth:')
Client ID do Twitch Developer Console
Canal Twitch de destino para entrar (obrigatório)
Client secret para atualização automática de token
Refresh token para renovação automática de token
Duração de expiração do token em segundos
Timestamp (ms) de quando o token atual foi obtido
Lista de permissão de IDs de usuário da Twitch para restrição de acesso rígida
Controle de acesso baseado em cargos (moderator, owner, vip, subscriber, all)
Se o bot requer uma @menção para responder
Nome de usuário do bot para uma conta específica no modo multi-conta
OAuth token para uma conta específica
Canal de destino para uma conta específica
Twitch Perguntas Frequentes
Twitch Solução de Problemas
A lista allowFrom pode não incluir seu ID de usuário, ou o bot não está detectando a @menção.
O OAuth token é inválido, expirou ou não possui os escopos necessários.
O clientSecret ou refreshToken está ausente ou incorreto.
O bot está excedendo os limites de taxa da Twitch.
O nome do canal pode estar incorreto ou a conta foi banida do canal.