OpenClaw

Canal LINE OpenClaw

Messagerie
Moyen

Connectez OpenClaw à LINE en utilisant l'API Messaging officielle. Cette intégration basée sur un plugin permet à votre assistant IA d'envoyer et recevoir des messages sur LINE — l'une des plateformes de messagerie les plus populaires au Japon, à Taïwan, en Thaïlande et en Asie du Sud-Est. OpenClaw reçoit les événements via webhook et répond via l'API Messaging, prenant en charge les types de messages enrichis comme les Flex Messages, les messages modèles, les réponses rapides et le partage de médias.

Info rapide
DifficultéMoyen
CatégorieMessagerie
Fonctionnalités prises en charge3 / 6

LINE Fonctionnalités prises en charge

Messages texte

Pris en charge

Médias et fichiers

Pris en charge

Réactions

Non pris en charge

Fils de discussion

Non pris en charge

Messages vocaux

Non pris en charge

Discussion de groupe

Pris en charge

LINE Prérequis

  • Un compte LINE Developers (gratuit sur developers.line.biz)
  • Un Provider et un canal Messaging API créés dans la LINE Developers Console
  • Le token d'accès au canal et le secret du canal depuis les paramètres de votre canal Messaging API
  • OpenClaw Gateway en fonctionnement et accessible via une URL HTTPS publique (requise pour le webhook)
  • Le plugin LINE installé : openclaw plugins install @openclaw/line

LINE Configuration rapide

1

Créer un canal LINE Messaging API

Connectez-vous à la LINE Developers Console, créez un Provider (ou sélectionnez-en un existant), puis créez un nouveau canal Messaging API. Notez votre Channel ID, Channel secret, et émettez un Channel access token depuis la page des paramètres du canal.

2

Installer le plugin LINE et ajouter la configuration

Exécutez 'openclaw plugins install @openclaw/line' pour installer le plugin LINE. Puis ajoutez la configuration du canal LINE dans ~/.openclaw/openclaw.json avec votre channelAccessToken et channelSecret. Vous pouvez également utiliser les variables d'environnement LINE_CHANNEL_ACCESS_TOKEN et LINE_CHANNEL_SECRET.

3

Configurer l'URL du webhook

Dans la LINE Developers Console, naviguez vers l'onglet Messaging API de votre canal. Définissez l'URL du webhook à 'https://<your-gateway-host>/line/webhook' et activez 'Use webhook'. Cliquez sur Verify pour confirmer que le point d'accès est joignable. Désactivez les réponses automatiques et les messages de bienvenue dans le LINE Official Account Manager pour éviter les réponses en double.

4

Envoyer un message test

Ajoutez votre bot LINE en ami en scannant son QR code (disponible dans la Console). Envoyez un message au bot. Si vous utilisez la politique pairing par défaut, approuvez l'expéditeur via 'openclaw pairing approve line <code>' dans votre terminal.

LINE Exemple de configuration

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

LINE Documentation Détaillée

Aperçu de l'architecture

OpenClaw s'intègre à LINE via l'API Messaging officielle — une architecture basée sur des webhooks où la plateforme LINE pousse les événements (messages, suivis, rejoints) vers votre Gateway, et OpenClaw répond via l'API REST. Le flux est : L'utilisateur envoie un message → Plateforme LINE → POST webhook vers votre Gateway → OpenClaw traite avec l'IA → Réponse via l'API Messaging → Plateforme LINE → L'utilisateur reçoit la réponse. Contrairement aux protocoles rétro-conçus, l'API Messaging est officiellement supportée par LINE Corporation, fournissant des points d'accès stables et documentés avec une compatibilité garantie. OpenClaw gère automatiquement la vérification de signature du webhook (HMAC-SHA256 avec votre secret de canal) pour garantir l'authenticité de tous les événements entrants. Le plugin LINE est installé séparément via 'openclaw plugins install @openclaw/line'. Cette architecture modulaire maintient le Gateway principal léger tout en permettant aux fonctionnalités spécifiques à LINE d'être maintenues indépendamment.
Votre Gateway doit être accessible via une URL HTTPS publique avec un certificat SSL valide. Les certificats auto-signés ne sont pas acceptés par le système webhook de LINE.
Pour les configurations multi-comptes, chaque compte peut avoir un webhookPath personnalisé pour recevoir les événements sur différents points d'accès du même Gateway.

Configuration dans la LINE Developers Console

La mise en place du bot LINE nécessite la création des bonnes ressources dans la LINE Developers Console : 1. Créer un Provider — Cela représente vous ou votre organisation. Un provider peut contenir plusieurs canaux. 2. Créer un canal Messaging API — Choisissez le type Messaging API (pas LINE Login). Remplissez les détails requis : nom du canal, description, catégorie et sous-catégorie. 3. Émettre un Channel access token — Accédez à l'onglet Messaging API dans les paramètres de votre canal et cliquez sur 'Issue' pour générer un token d'accès à longue durée de vie. Ce token authentifie vos appels API. 4. Noter le Channel secret — Disponible dans l'onglet Basic Settings. Il est utilisé pour la vérification de signature du webhook. 5. Configurer le webhook — Dans l'onglet Messaging API, définissez l'URL du webhook vers le point d'accès LINE de votre Gateway et activez 'Use webhook'. 6. Désactiver les réponses automatiques — Dans le LINE Official Account Manager (accessible depuis la Console), désactivez les messages de bienvenue et les réponses automatiques pour éviter les conflits avec votre bot IA. LINE utilise des formats d'ID spécifiques : les User ID commencent par 'U' suivi de 32 caractères hexadécimaux, les Group ID commencent par 'C', et les Room ID commencent par 'R'.
openclaw.json
{
  "channels": {
    "line": {
      "channelAccessToken": "YOUR_TOKEN",
      "channelSecret": "YOUR_SECRET"
    }
  }
}
Protégez votre secret de canal et votre token d'accès. Ne les committez jamais dans le contrôle de version. Utilisez des variables d'environnement (LINE_CHANNEL_ACCESS_TOKEN, LINE_CHANNEL_SECRET) ou des tokens basés sur des fichiers (tokenFile, secretFile) pour les déploiements en production.

Tokens d'accès au canal

LINE fournit quatre types de tokens d'accès au canal avec différentes durées de vie et cas d'utilisation : • Token à longue durée de vie — N'expire pas. Émis depuis la Console. Un seul peut exister par canal ; la réémission invalide le précédent. Option la plus simple pour les bots auto-hébergés. • Token à courte durée de vie (v2.1) — Expire en jusqu'à 30 jours. Émis via API en utilisant des assertions JWT. Jusqu'à 30 tokens par canal. Recommandé pour les déploiements en production nécessitant la rotation des tokens. • Token sans état — Expire en 15 minutes. Aucune limite d'émission. Ne peut pas être révoqué. Utile pour les scénarios de haute sécurité nécessitant des durées de vie de token très courtes. • Courte durée de vie (ancien) — Expire en 30 jours. Jusqu'à 30 par canal ; le plus ancien est automatiquement révoqué lorsque la limite est atteinte. OpenClaw prend en charge tous les types de tokens. Pour la plupart des installations auto-hébergées, un token à longue durée de vie est le choix le plus simple. Configurez-le directement dans votre configuration ou via la variable d'environnement LINE_CHANNEL_ACCESS_TOKEN.
Pour la production avec rotation de tokens, utilisez l'option de configuration tokenFile pour pointer vers un fichier mis à jour par un processus de rafraîchissement externe.
Évitez d'émettre des tokens trop fréquemment — LINE peut temporairement restreindre l'émission si trop de tokens sont créés en peu de temps.

Politiques de DM

Les politiques de DM (Messages Directs) contrôlent qui peut interagir avec votre bot LINE en conversations individuelles. OpenClaw prend en charge quatre politiques : • pairing (par défaut) — Les nouveaux utilisateurs qui envoient un message au bot reçoivent un code d'association aléatoire. Approuvez via 'openclaw pairing approve line <code>' dans votre terminal. Une fois approuvé, ils peuvent discuter librement. Les codes expirent après 1 heure avec un maximum de 3 demandes en attente. • allowlist — Seuls les identifiants utilisateur LINE listés dans allowFrom peuvent envoyer des messages au bot. Tous les autres sont silencieusement ignorés. Les identifiants utilisateur LINE suivent le format 'U' + 32 caractères hexadécimaux. • open — Toute personne qui ajoute le bot en ami et envoie un message reçoit une réponse. Nécessite l'ajout de '*' à allowFrom comme confirmation de sécurité. • disabled — La fonctionnalité DM est complètement désactivée. Pour trouver l'identifiant LINE d'un utilisateur, consultez les logs du Gateway lorsqu'il envoie un message — le userId source est journalisé avec chaque événement webhook.
openclaw.json
{
  "channels": {
    "line": {
      "dmPolicy": "allowlist",
      "allowFrom": ["U1234567890abcdef1234567890abcdef"]
    }
  }
}
Les identifiants utilisateur LINE sont uniques par Provider — le même utilisateur physique a des identifiants différents selon les Providers. Assurez-vous que vos identifiants allowFrom correspondent au bon Provider.
Utilisez 'openclaw pairing list line' pour voir toutes les demandes d'association en attente et leurs codes.

Gestion des discussions de groupe

OpenClaw prend en charge les discussions de groupe LINE et les conversations multi-personnes avec un contrôle d'accès configurable : • disabled (par défaut) — Ignorer tous les messages de groupe et de salon • open — Répondre aux messages de tous les membres du groupe • allowlist — Seuls les identifiants utilisateur approuvés (via groupAllowFrom) peuvent déclencher le bot dans les groupes Lorsqu'un bot LINE rejoint un groupe, il reçoit un événement 'join'. Les conversations de groupe sont isolées des DM — chaque groupe maintient son propre contexte de conversation et historique. Les identifiants de groupe LINE suivent le format 'C' + 32 caractères hexadécimaux. Les identifiants de salon utilisent 'R' + 32 caractères hexadécimaux. Vous pouvez les trouver dans les logs du Gateway lorsque des messages de groupe sont reçus. Note : Le bot doit être ajouté au groupe par un membre. Les bots LINE ne peuvent pas rejoindre les groupes de leur propre initiative.
openclaw.json
{
  "channels": {
    "line": {
      "groupPolicy": "open",
      "historyLimit": 50
    }
  }
}

Messages enrichis : Flex et modèles

LINE prend en charge des types de messages enrichis au-delà du texte brut, et OpenClaw en tire parti : • Flex Messages — Mises en page de cartes hautement personnalisables utilisant une structure JSON. OpenClaw convertit automatiquement les blocs de code dans les réponses IA en cartes Flex Message lorsque c'est possible. Vous pouvez également utiliser la commande '/card' pour générer des modèles Flex prédéfinis. • Messages modèles — Messages structurés avec boutons, carrousels, confirmations et carrousels d'images. Utiles pour présenter des choix aux utilisateurs. • Réponses rapides — Jusqu'à 13 boutons d'action affichés sous un message. Prend en charge les actions de message, les actions URI, les actions postback, les sélecteurs de date, les actions caméra/pellicule et les actions de localisation. Les réponses rapides disparaissent après que l'utilisateur en touche une. • Stickers — La fonctionnalité signature de LINE. Les bots peuvent envoyer des stickers officiels en spécifiant packageId et stickerId. Seuls les stickers de la liste de stickers envoyables publiée par LINE sont disponibles via l'API. • Messages de localisation — Partage de coordonnées latitude/longitude avec un libellé d'adresse. Le formatage Markdown est automatiquement supprimé des réponses IA car LINE ne le prend pas en charge nativement. Les blocs de code sont convertis en cartes Flex pour une meilleure lisibilité.
Utilisez le LINE Flex Message Simulator (disponible dans la Console) pour concevoir et prévisualiser des mises en page Flex personnalisées avant de les coder.
Les réponses rapides ne sont prises en charge que sur LINE pour iOS et Android — elles n'apparaîtront pas sur les clients desktop ou web.

Médias et pièces jointes

OpenClaw gère les fichiers multimédias sur LINE, y compris les images, vidéos, fichiers audio et fichiers. Le contenu multimédia reçu des utilisateurs est automatiquement téléchargé et traité par le Gateway. Les médias entrants sont récupérés depuis l'API de contenu de LINE et transmis à l'IA pour traitement (ex : analyse d'images). La taille maximale de fichier par défaut est de 10 Mo (configurable via mediaMaxMb). Les médias sortants sont téléversés via l'API Messaging. LINE prend en charge : • Images — JPEG et PNG jusqu'à 10 Mo • Vidéo — MP4 jusqu'à 200 Mo (1 minute max dans certains contextes) • Audio — M4A jusqu'à 200 Mo LINE utilise une API de récupération de contenu avec des ID de message — le contenu multimédia n'est pas inclus directement dans les payloads webhook mais doit être récupéré séparément. OpenClaw gère cela automatiquement.
openclaw.json
{
  "channels": {
    "line": {
      "mediaMaxMb": 10
    }
  }
}

Sécurité du webhook

LINE utilise la vérification de signature HMAC-SHA256 pour garantir l'authenticité des événements webhook. Chaque requête webhook inclut un en-tête 'x-line-signature' contenant un condensé HMAC-SHA256 encodé en Base64 du corps de la requête, calculé en utilisant votre secret de canal comme clé. OpenClaw vérifie automatiquement cette signature pour chaque événement webhook entrant. Si la vérification échoue, l'événement est rejeté avec un statut 403. Cela empêche les événements falsifiés ou altérés d'être traités. Important : La signature est calculée sur la chaîne brute du corps de la requête. Ne parsez pas, ne désérialisez pas et ne reformatez pas le JSON avant la vérification. OpenClaw gère cela correctement — assurez-vous simplement que votre reverse proxy ou répartiteur de charge ne modifie pas le corps de la requête avant qu'il n'atteigne le Gateway.
Si la vérification du webhook continue d'échouer, vérifiez que votre channelSecret correspond à la valeur dans la LINE Developers Console (onglet Basic Settings).
Utilisez le bouton 'Verify' dans la Console pour tester votre point d'accès webhook. Il envoie un événement test avec un tableau events vide.

Indicateurs de chargement et livraison

OpenClaw envoie des indicateurs de chargement (animations de saisie) pendant la génération des réponses IA. L'API d'indicateur de chargement de LINE affiche un spinner dans le chat pendant jusqu'à 60 secondes, fournissant un retour visuel que le bot est en cours de traitement. Pour les longues réponses IA, le texte est automatiquement découpé à 5 000 caractères par message (limite de taille des messages LINE). Le découpage est transparent pour les utilisateurs — ils reçoivent plusieurs messages consécutifs. Le streaming est mis en mémoire tampon jusqu'à complétion — LINE ne prend pas en charge la livraison de messages en streaming comme certaines autres plateformes. La réponse complète est d'abord générée, puis envoyée en un ou plusieurs messages. L'API Messaging de LINE prend en charge l'envoi de jusqu'à 5 objets message dans une seule réponse. OpenClaw optimise la livraison en regroupant les messages courts lorsque c'est possible.
openclaw.json
{
  "channels": {
    "line": {
      "textChunkLimit": 5000,
      "chunkMode": "newline"
    }
  }
}

Configuration multi-comptes

OpenClaw prend en charge l'exécution de plusieurs comptes de bot LINE sur une seule instance Gateway. Chaque compte possède ses propres identifiants, chemin webhook et paramètres de configuration personnalisés. C'est utile pour exécuter différentes personnalités IA sur différents comptes LINE, ou séparer les bots de production et de test sur la même infrastructure. Chaque compte reçoit les événements webhook sur son propre chemin : /line/<accountId>/webhook (au lieu du /line/webhook par défaut). Configurez l'URL webhook correspondante dans la LINE Developers Console de chaque compte.
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 Référence de Configuration

enabled
Type: booleanDefault: true

Activer ou désactiver le canal LINE

channelAccessToken
Type: stringDefault: ""

Token d'accès au canal LINE Messaging API. Peut aussi utiliser la variable d'environnement LINE_CHANNEL_ACCESS_TOKEN

channelSecret
Type: stringDefault: ""

Secret de canal LINE pour la vérification de signature du webhook. Peut aussi utiliser la variable d'environnement LINE_CHANNEL_SECRET

tokenFile
Type: stringDefault: ""

Chemin vers un fichier contenant le token d'accès au canal (alternative à la configuration en ligne)

secretFile
Type: stringDefault: ""

Chemin vers un fichier contenant le secret de canal (alternative à la configuration en ligne)

dmPolicy
Type: stringDefault: "pairing"

Contrôle qui peut envoyer des DM au bot. Options : pairing, allowlist, open, disabled

allowFrom
Type: string[]Default: []

Identifiants utilisateur LINE (U + 32 hex) autorisés à envoyer des messages au bot quand dmPolicy est allowlist

dmHistoryLimit
Type: numberDefault: 50

Nombre de messages DM récents à inclure comme contexte IA par conversation

groupPolicy
Type: stringDefault: "disabled"

Politique de discussion de groupe. Options : disabled, allowlist, open

groupAllowFrom
Type: string[]Default: []

Identifiants utilisateur LINE autorisés à déclencher le bot dans les groupes (quand groupPolicy est allowlist)

historyLimit
Type: numberDefault: 50

Nombre maximum de messages de groupe inclus comme contexte IA. Définir à 0 pour désactiver

textChunkLimit
Type: numberDefault: 5000

Nombre maximum de caractères par message sortant avant découpage

chunkMode
Type: stringDefault: "length"

Mode de découpage du texte. Options : length (découpage strict), newline (respecte les paragraphes)

mediaMaxMb
Type: numberDefault: 10

Taille maximale des fichiers multimédias entrants en mégaoctets

webhookPath
Type: stringDefault: "/line/webhook"

Chemin webhook personnalisé pour ce compte (utile pour les configurations multi-comptes)

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

Token d'accès au canal par compte pour les configurations multi-comptes

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

Secret de canal par compte pour les configurations multi-comptes

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

Chemin webhook par compte pour les configurations multi-comptes

configWrites
Type: booleanDefault: true

Autoriser les commandes /config à modifier les paramètres du canal en temps réel

LINE Questions Fréquentes

LINE Dépannage

La vérification du webhook échoue dans la Console LINE

Le Gateway n'est pas accessible depuis Internet, l'URL est incorrecte, ou il y a des problèmes de certificat SSL.

Vérifiez que votre Gateway fonctionne et est accessible via l'URL publique. Assurez-vous que l'URL est exactement 'https://<host>/line/webhook' avec un certificat SSL valide (pas auto-signé). Vérifiez les règles de pare-feu et la redirection de ports. Testez avec 'curl -X POST https://<host>/line/webhook' depuis une machine externe.
Le bot est ajouté en ami mais ne répond pas aux messages

Le webhook n'est pas activé dans la Console, les réponses automatiques interfèrent, ou l'expéditeur n'a pas été approuvé via la politique d'association.

Dans la LINE Developers Console, confirmez que 'Use webhook' est activé dans l'onglet Messaging API. Dans le LINE Official Account Manager, désactivez les réponses automatiques et les messages de bienvenue. Si vous utilisez la politique pairing, vérifiez les associations en attente avec 'openclaw pairing list line' et approuvez l'expéditeur.
Erreur 401 Unauthorized lors de l'envoi de réponses

Le token d'accès au canal est invalide, expiré ou révoqué.

Accédez à la LINE Developers Console, naviguez vers l'onglet Messaging API de votre canal et émettez un nouveau token d'accès au canal. Mettez à jour votre configuration OpenClaw ou la variable d'environnement LINE_CHANNEL_ACCESS_TOKEN avec le nouveau token. Si vous utilisez la rotation de tokens, vérifiez que votre processus de rafraîchissement fonctionne correctement.
Les messages sont reçus mais les réponses affichent 'Invalid reply token'

Les tokens de réponse LINE expirent 1 minute après l'envoi de l'événement webhook. Si le traitement IA prend plus de temps, le token devient invalide.

C'est une limitation de la plateforme LINE. OpenClaw utilise les messages push comme solution de repli lorsque les tokens de réponse expirent. Assurez-vous que votre channelAccessToken dispose des permissions pour les messages push et que vous n'avez pas dépassé votre quota mensuel de messages push.
Erreur de validation de signature sur les webhooks entrants

Le channelSecret dans votre configuration ne correspond pas au secret de canal dans la LINE Developers Console, ou un reverse proxy modifie le corps de la requête.

Vérifiez que la valeur channelSecret correspond au 'Channel secret' affiché dans l'onglet Basic Settings de votre LINE Developers Console. Si vous utilisez un reverse proxy (nginx, Apache), assurez-vous qu'il transmet le corps brut de la requête sans modification. Vérifiez que le Content-Type est préservé en application/json.