OpenClaw

Canal LINE do OpenClaw

Mensagens
Médio

Conecte o OpenClaw ao LINE usando a API oficial de Mensagens. Esta integração baseada em plugin permite que seu assistente de IA envie e receba mensagens no LINE — uma das plataformas de mensagens mais populares no Japão, Taiwan, Tailândia e Sudeste Asiático. O OpenClaw recebe eventos via webhook e responde pela API de Mensagens, suportando tipos de mensagem ricos incluindo Flex Messages, mensagens de template, respostas rápidas e compartilhamento de mídia.

Info rápida
DificuldadeMédio
CategoriaMensagens
Recursos suportados3 / 6

LINE Recursos suportados

Mensagens de texto

Suportado

Mídia e arquivos

Suportado

Reações

Não suportado

Threads

Não suportado

Mensagens de voz

Não suportado

Chat em grupo

Suportado

LINE Pré-requisitos

  • Uma conta no LINE Developers (gratuita em developers.line.biz)
  • Um Provider e canal de API de Mensagens criados no LINE Developers Console
  • Token de acesso do canal e segredo do canal nas configurações do seu canal de API de Mensagens
  • OpenClaw Gateway em execução e acessível via URL HTTPS pública (necessário para webhook)
  • O plugin LINE instalado: openclaw plugins install @openclaw/line

LINE Configuração rápida

1

Criar um canal de API de Mensagens do LINE

Faça login no LINE Developers Console, crie um Provider (ou selecione um existente), depois crie um novo canal de API de Mensagens. Anote seu Channel ID, Channel secret e emita um Channel access token na página de configurações do canal.

2

Instalar o plugin LINE e adicionar configuração

Execute 'openclaw plugins install @openclaw/line' para instalar o plugin LINE. Em seguida, adicione a configuração do canal LINE em ~/.openclaw/openclaw.json com seu channelAccessToken e channelSecret. Você também pode usar as variáveis de ambiente LINE_CHANNEL_ACCESS_TOKEN e LINE_CHANNEL_SECRET.

3

Configurar a URL do webhook

No LINE Developers Console, navegue até a aba Messaging API do seu canal. Defina a URL do webhook como 'https://<your-gateway-host>/line/webhook' e ative 'Use webhook'. Clique em Verify para confirmar que o endpoint está acessível. Desative as mensagens de resposta automática e saudação no LINE Official Account Manager para evitar respostas duplicadas.

4

Enviar uma mensagem de teste

Adicione seu bot LINE como amigo escaneando o código QR (encontrado no Console). Envie uma mensagem ao bot. Se estiver usando a política pairing padrão, aprove o remetente via 'openclaw pairing approve line <code>' no seu terminal.

LINE Exemplo de configuração

config.json
{
  "channels": {
    "line": {
      "enabled": true,
      "channelAccessToken": "YOUR_CHANNEL_ACCESS_TOKEN",
      "channelSecret": "YOUR_CHANNEL_SECRET",
      "dmPolicy": "pairing"
    }
  }
}

LINE Documentação Detalhada

Visão geral da arquitetura

O OpenClaw se integra ao LINE através da API oficial de Mensagens — uma arquitetura baseada em webhook onde a plataforma LINE envia eventos (mensagens, follows, joins) para seu Gateway, e o OpenClaw responde usando a API REST. O fluxo é: Usuário envia mensagem → plataforma LINE → POST de webhook para seu Gateway → OpenClaw processa com IA → resposta via API de Mensagens → plataforma LINE → Usuário recebe resposta. Diferente de protocolos de engenharia reversa, a API de Mensagens é oficialmente suportada pela LINE Corporation, fornecendo endpoints estáveis e documentados com compatibilidade garantida. O OpenClaw lida automaticamente com a verificação de assinatura do webhook (HMAC-SHA256 usando seu channel secret) para garantir que todos os eventos recebidos sejam autênticos. O plugin LINE é instalado separadamente via 'openclaw plugins install @openclaw/line'. Esta arquitetura modular mantém o Gateway principal leve enquanto permite que recursos específicos do LINE sejam mantidos independentemente.
Seu Gateway deve ser acessível via uma URL HTTPS pública com um certificado SSL válido. Certificados auto-assinados não são aceitos pelo sistema de webhook do LINE.
Para configurações multi-conta, cada conta pode ter um webhookPath personalizado para receber eventos em endpoints diferentes no mesmo Gateway.

Configuração do LINE Developers Console

Configurar o bot LINE requer a criação dos recursos corretos no LINE Developers Console: 1. Criar um Provider — Isso representa você ou sua organização. Um provider pode conter vários canais. 2. Criar um canal de API de Mensagens — Escolha o tipo Messaging API (não LINE Login). Preencha os detalhes obrigatórios: nome do canal, descrição, categoria e subcategoria. 3. Emitir um Channel access token — Acesse a aba Messaging API nas configurações do seu canal e clique em 'Issue' para gerar um token de acesso de longa duração. Este token autentica suas chamadas de API. 4. Anotar o Channel secret — Encontrado na aba Basic Settings. Usado para verificação de assinatura do webhook. 5. Configurar o webhook — Na aba Messaging API, defina a URL do webhook para o endpoint LINE do seu Gateway e ative 'Use webhook'. 6. Desativar resposta automática — No LINE Official Account Manager (vinculado pelo Console), desative mensagens de saudação e resposta automática para evitar conflitos com seu bot de IA. O LINE usa formatos de ID específicos: IDs de usuário começam com 'U' seguido de 32 caracteres hexadecimais, IDs de grupo começam com 'C' e IDs de sala começam com 'R'.
openclaw.json
{
  "channels": {
    "line": {
      "channelAccessToken": "YOUR_TOKEN",
      "channelSecret": "YOUR_SECRET"
    }
  }
}
Mantenha seu channel secret e access token seguros. Nunca faça commit deles no controle de versão. Use variáveis de ambiente (LINE_CHANNEL_ACCESS_TOKEN, LINE_CHANNEL_SECRET) ou tokens baseados em arquivo (tokenFile, secretFile) para implantações em produção.

Tokens de acesso do canal

O LINE fornece quatro tipos de tokens de acesso do canal com diferentes tempos de vida e casos de uso: • Token de longa duração — Não expira. Emitido pelo Console. Apenas um pode existir por canal; reemitir invalida o token anterior. Opção mais simples para bots auto-hospedados. • Token de curta duração (v2.1) — Expira em até 30 dias. Emitido via API usando asserções JWT. Até 30 tokens por canal. Recomendado para implantações em produção onde a rotação de tokens é desejada. • Token stateless — Expira em 15 minutos. Sem limite de emissão. Não pode ser revogado. Útil para cenários de alta segurança que requerem tempos de vida de token muito curtos. • Curta duração (legado) — Expira em 30 dias. Até 30 por canal; o mais antigo é auto-revogado quando o limite é excedido. O OpenClaw suporta todos os tipos de token. Para a maioria das configurações auto-hospedadas, um token de longa duração é a escolha mais simples. Configure-o diretamente na sua config ou via a variável de ambiente LINE_CHANNEL_ACCESS_TOKEN.
Para produção com rotação de tokens, use a opção de config tokenFile para apontar para um arquivo que é atualizado por um processo externo de renovação de tokens.
Evite emitir tokens com muita frequência — o LINE pode restringir temporariamente a emissão se muitos tokens forem criados em um curto período.

Políticas de DM

As políticas de DM (Mensagens Diretas) controlam quem pode interagir com seu bot LINE em chats individuais. O OpenClaw suporta quatro políticas: • pairing (padrão) — Novos usuários que enviam mensagem ao bot recebem um código de pareamento aleatório. Aprove via 'openclaw pairing approve line <code>' no seu terminal. Uma vez aprovados, podem conversar livremente. Códigos expiram após 1 hora com máximo de 3 solicitações pendentes. • allowlist — Apenas IDs de usuário LINE listados em allowFrom podem enviar mensagens ao bot. Todos os outros são silenciosamente ignorados. IDs de usuário LINE seguem o formato 'U' + 32 caracteres hexadecimais. • open — Qualquer pessoa que adicionar o bot como amigo e enviar uma mensagem recebe resposta. Requer adicionar '*' ao allowFrom como confirmação de segurança. • disabled — A funcionalidade de DM está completamente desativada. Para encontrar o ID LINE de um usuário, verifique os logs do Gateway quando ele enviar uma mensagem — o userId de origem é registrado com cada evento de webhook.
openclaw.json
{
  "channels": {
    "line": {
      "dmPolicy": "allowlist",
      "allowFrom": ["U1234567890abcdef1234567890abcdef"]
    }
  }
}
IDs de usuário LINE são únicos por Provider — o mesmo usuário físico tem IDs diferentes em Providers diferentes. Certifique-se de que seus IDs no allowFrom correspondem ao Provider correto.
Use 'openclaw pairing list line' para ver todas as solicitações de pareamento pendentes e seus códigos.

Gerenciamento de chats em grupo

O OpenClaw suporta chats em grupo e chats multipessoas do LINE com controle de acesso configurável: • disabled (padrão) — Ignorar todas as mensagens de grupo e sala • open — Responder a mensagens de todos os membros do grupo • allowlist — Apenas IDs de usuário aprovados (via groupAllowFrom) podem acionar o bot em grupos Quando um bot LINE entra em um grupo, ele recebe um evento 'join'. Conversas de grupo são isoladas das DMs — cada grupo mantém seu próprio contexto de conversa e histórico. IDs de grupo no LINE seguem o formato 'C' + 32 caracteres hexadecimais. IDs de sala usam 'R' + 32 caracteres hexadecimais. Você pode encontrá-los nos logs do Gateway quando mensagens de grupo são recebidas. Nota: O bot deve ser adicionado ao grupo por um membro. Bots LINE não podem entrar em grupos por conta própria.
openclaw.json
{
  "channels": {
    "line": {
      "groupPolicy": "open",
      "historyLimit": 50
    }
  }
}

Mensagens ricas: Flex e Templates

O LINE suporta tipos de mensagem ricos além de texto simples, e o OpenClaw tira proveito deles: • Flex Messages — Layouts altamente personalizáveis baseados em cartões usando uma estrutura JSON. O OpenClaw converte automaticamente blocos de código em respostas de IA para cartões Flex Message quando viável. Você também pode usar o comando '/card' para gerar templates Flex predefinidos. • Template Messages — Mensagens estruturadas com botões, carrosséis, confirmações e carrosséis de imagens. Úteis para apresentar opções aos usuários. • Quick Replies — Até 13 botões de ação exibidos abaixo de uma mensagem. Suportam ações de mensagem, ações de URI, ações de postback, seletores de data/hora, ações de câmera/galeria e ações de localização. As respostas rápidas desaparecem após o usuário tocar em uma. • Stickers — Recurso emblemático do LINE. Bots podem enviar stickers oficiais especificando packageId e stickerId. Apenas stickers da lista publicada de stickers enviáveis do LINE estão disponíveis via API. • Mensagens de localização — Compartilhe coordenadas de latitude/longitude com um rótulo de endereço. A formatação Markdown é automaticamente removida das respostas de IA, pois o LINE não a suporta nativamente. Blocos de código são convertidos em cartões Flex para melhor legibilidade.
Use o LINE Flex Message Simulator (disponível no Console) para projetar e visualizar layouts Flex personalizados antes de codificá-los.
Quick replies são suportados no LINE para iOS e Android apenas — não aparecerão em clientes desktop ou web.

Mídia e anexos

O OpenClaw lida com arquivos de mídia no LINE incluindo imagens, vídeo, áudio e arquivos. O conteúdo de mídia recebido dos usuários é automaticamente baixado e processado pelo Gateway. Mídia recebida é buscada pela API de conteúdo do LINE e passada para a IA para processamento (ex: análise de imagem). O tamanho máximo padrão de arquivo é 10 MB (configurável via mediaMaxMb). Mídia enviada é carregada pela API de Mensagens. O LINE suporta: • Imagens — JPEG e PNG até 10 MB • Vídeo — MP4 até 200 MB (1 minuto máximo em alguns contextos) • Áudio — M4A até 200 MB O LINE usa uma API de recuperação de conteúdo com IDs de mensagem — o conteúdo de mídia não é incluído nos payloads de webhook diretamente, mas deve ser buscado separadamente. O OpenClaw lida com isso automaticamente.
openclaw.json
{
  "channels": {
    "line": {
      "mediaMaxMb": 10
    }
  }
}

Segurança do webhook

O LINE usa verificação de assinatura HMAC-SHA256 para garantir que os eventos de webhook sejam autênticos. Cada requisição de webhook inclui um cabeçalho 'x-line-signature' contendo um digest HMAC-SHA256 codificado em Base64 do corpo da requisição, calculado usando seu channel secret como chave. O OpenClaw verifica automaticamente esta assinatura para cada evento de webhook recebido. Se a verificação falhar, o evento é rejeitado com status 403. Isso impede que eventos falsificados ou adulterados sejam processados. Importante: A assinatura é calculada sobre a string bruta do corpo da requisição. Não faça parse, deserialize ou reformate o JSON antes da verificação. O OpenClaw lida com isso corretamente — apenas certifique-se de que seu proxy reverso ou balanceador de carga não modifique o corpo da requisição antes que ele chegue ao Gateway.
Se a verificação do webhook continuar falhando, verifique se seu channelSecret corresponde ao valor no LINE Developers Console (aba Basic Settings).
Use o botão 'Verify' no Console para testar seu endpoint de webhook. Ele envia um evento de teste com um array de events vazio.

Indicadores de carregamento e entrega

O OpenClaw envia indicadores de carregamento (animações de digitação) enquanto gera respostas de IA. A API de indicador de carregamento do LINE exibe um spinner no chat por até 60 segundos, fornecendo feedback visual de que o bot está processando. Para respostas longas de IA, o texto é automaticamente fragmentado em 5.000 caracteres por mensagem (limite de tamanho de mensagem do LINE). A fragmentação é transparente para os usuários — eles recebem múltiplas mensagens consecutivas. O streaming é armazenado em buffer até a conclusão — o LINE não suporta entrega de mensagens em streaming como algumas outras plataformas. A resposta completa é gerada primeiro, depois enviada como uma ou mais mensagens. A API de Mensagens do LINE suporta o envio de até 5 objetos de mensagem em uma única resposta. O OpenClaw otimiza a entrega agrupando mensagens curtas quando possível.
openclaw.json
{
  "channels": {
    "line": {
      "textChunkLimit": 5000,
      "chunkMode": "newline"
    }
  }
}

Configuração multi-conta

O OpenClaw suporta a execução de múltiplas contas de bot LINE em uma única instância do Gateway. Cada conta tem suas próprias credenciais, caminho de webhook e substituições de configuração. Isso é útil para executar diferentes personalidades de IA em diferentes contas LINE, ou separar bots de produção e staging na mesma infraestrutura. Cada conta recebe eventos de webhook no seu próprio caminho: /line/<accountId>/webhook (em vez do /line/webhook padrão). Configure a URL de webhook correspondente no LINE Developers Console de cada conta.
openclaw.json
{
  "channels": {
    "line": {
      "accounts": {
        "main": {
          "channelAccessToken": "TOKEN_1",
          "channelSecret": "SECRET_1",
          "webhookPath": "/line/main/webhook"
        },
        "support": {
          "channelAccessToken": "TOKEN_2",
          "channelSecret": "SECRET_2",
          "webhookPath": "/line/support/webhook"
        }
      }
    }
  }
}

LINE Referência de Configuração

enabled
Type: booleanDefault: true

Ativar ou desativar o canal LINE

channelAccessToken
Type: stringDefault: ""

Token de acesso do canal da API de Mensagens do LINE. Também pode usar a variável de ambiente LINE_CHANNEL_ACCESS_TOKEN

channelSecret
Type: stringDefault: ""

Channel secret do LINE para verificação de assinatura do webhook. Também pode usar a variável de ambiente LINE_CHANNEL_SECRET

tokenFile
Type: stringDefault: ""

Caminho para um arquivo contendo o token de acesso do canal (alternativa à config inline)

secretFile
Type: stringDefault: ""

Caminho para um arquivo contendo o channel secret (alternativa à config inline)

dmPolicy
Type: stringDefault: "pairing"

Controla quem pode enviar DM ao bot. Opções: pairing, allowlist, open, disabled

allowFrom
Type: string[]Default: []

IDs de usuário LINE (U + 32 hex) autorizados a enviar mensagens ao bot quando dmPolicy é allowlist

dmHistoryLimit
Type: numberDefault: 50

Número de mensagens de DM recentes a incluir como contexto da IA por conversa

groupPolicy
Type: stringDefault: "disabled"

Política de chat em grupo. Opções: disabled, allowlist, open

groupAllowFrom
Type: string[]Default: []

IDs de usuário LINE autorizados a acionar o bot em grupos (quando groupPolicy é allowlist)

historyLimit
Type: numberDefault: 50

Máximo de mensagens de grupo incluídas como contexto da IA. Defina 0 para desativar

textChunkLimit
Type: numberDefault: 5000

Máximo de caracteres por mensagem enviada antes da fragmentação

chunkMode
Type: stringDefault: "length"

Modo de fragmentação de texto. Opções: length (divisão rígida), newline (ciente de parágrafos)

mediaMaxMb
Type: numberDefault: 10

Tamanho máximo de arquivo de mídia recebida em megabytes

webhookPath
Type: stringDefault: "/line/webhook"

Caminho personalizado do webhook para esta conta (útil em configurações multi-conta)

accounts.<id>.channelAccessToken
Type: stringDefault: ""

Token de acesso do canal por conta para configurações multi-conta

accounts.<id>.channelSecret
Type: stringDefault: ""

Channel secret por conta para configurações multi-conta

accounts.<id>.webhookPath
Type: stringDefault: "/line/<id>/webhook"

Caminho do webhook por conta para configurações multi-conta

configWrites
Type: booleanDefault: true

Permitir que comandos /config modifiquem configurações do canal em tempo de execução

LINE Perguntas Frequentes

LINE Solução de Problemas

Verificação do webhook falha no LINE Console

O Gateway não está acessível pela internet, a URL está incorreta ou há problemas com o certificado SSL.

Verifique se seu Gateway está em execução e acessível pela URL pública. Certifique-se de que a URL é exatamente 'https://<host>/line/webhook' com um certificado SSL válido (não auto-assinado). Verifique as regras de firewall e encaminhamento de portas. Teste com 'curl -X POST https://<host>/line/webhook' de uma máquina externa.
Bot é adicionado como amigo mas não responde às mensagens

O webhook não está ativado no Console, a resposta automática está interferindo ou o remetente não foi aprovado via política de pareamento.

No LINE Developers Console, confirme que 'Use webhook' está ativado na aba Messaging API. No LINE Official Account Manager, desative tanto a resposta automática quanto as mensagens de saudação. Se estiver usando a política pairing, verifique pareamentos pendentes com 'openclaw pairing list line' e aprove o remetente.
Erro 401 Unauthorized ao enviar respostas

O token de acesso do canal é inválido, expirou ou foi revogado.

Acesse o LINE Developers Console, navegue até a aba Messaging API do seu canal e emita um novo token de acesso do canal. Atualize sua configuração do OpenClaw ou a variável de ambiente LINE_CHANNEL_ACCESS_TOKEN com o novo token. Se estiver usando rotação de tokens, verifique se seu processo de renovação está funcionando corretamente.
Mensagens são recebidas mas respostas mostram 'Invalid reply token'

Os reply tokens do LINE expiram 1 minuto após o envio do evento de webhook. Se o processamento de IA levar mais tempo, o token se torna inválido.

Esta é uma limitação da plataforma LINE. O OpenClaw usa mensagens push como fallback quando reply tokens expiram. Certifique-se de que seu channelAccessToken tem permissões de mensagem push e que você não excedeu sua cota mensal de mensagens push.
Erro de validação de assinatura em webhooks recebidos

O channelSecret na sua config não corresponde ao channel secret no LINE Developers Console, ou um proxy reverso está modificando o corpo da requisição.

Verifique se o valor do channelSecret corresponde ao 'Channel secret' mostrado na aba Basic Settings do seu LINE Developers Console. Se estiver usando um proxy reverso (nginx, Apache), certifique-se de que ele encaminha o corpo bruto da requisição sem modificação. Verifique se o Content-Type é preservado como application/json.