OpenClaw LINE チャンネル
公式 Messaging API を使用して OpenClaw を LINE に接続します。このプラグインベースの統合により、AI アシスタントが LINE でメッセージの送受信を行えるようになります。LINE は日本、台湾、タイ、東南アジアで最も人気のあるメッセージングプラットフォームの一つです。OpenClaw は Webhook でイベントを受信し、Messaging API で応答します。Flex Message、テンプレートメッセージ、クイックリプライ、メディア共有などのリッチメッセージタイプに対応しています。
LINE 対応機能
テキストメッセージ
対応
メディア・ファイル
対応
リアクション
非対応
スレッド
非対応
音声メッセージ
非対応
グループチャット
対応
LINE 前提条件
- LINE Developers アカウント(developers.line.biz で無料作成可能)
- LINE Developers Console で Provider と Messaging API チャンネルを作成済み
- Messaging API チャンネル設定から取得したチャンネルアクセストークンとチャンネルシークレット
- OpenClaw Gateway が稼働し、公開 HTTPS URL でアクセス可能(Webhook に必須)
- LINE プラグインがインストール済み:openclaw plugins install @openclaw/line
LINE クイックセットアップ
LINE Messaging API チャンネルを作成
LINE Developers Console にログインし、Provider を作成(または既存のものを選択)してから、新しい Messaging API チャンネルを作成します。チャンネル設定ページで Channel ID、Channel secret を確認し、Channel access token を発行してください。
LINE プラグインをインストールして設定を追加
'openclaw plugins install @openclaw/line' を実行して LINE プラグインをインストールします。次に ~/.openclaw/openclaw.json に channelAccessToken と channelSecret を含む LINE チャンネルの設定を追加します。環境変数 LINE_CHANNEL_ACCESS_TOKEN と LINE_CHANNEL_SECRET も使用できます。
Webhook URL を設定
LINE Developers Console でチャンネルの Messaging API タブに移動します。Webhook URL を 'https://<your-gateway-host>/line/webhook' に設定し、「Webhook の利用」を有効にします。「検証」をクリックしてエンドポイントへの到達を確認します。LINE 公式アカウントマネージャーで自動応答メッセージとあいさつメッセージを無効にして、重複応答を防止してください。
テストメッセージを送信
Console に表示される QR コードをスキャンして LINE ボットを友だち追加します。ボットにメッセージを送信してください。デフォルトの pairing ポリシーを使用している場合は、ターミナルで 'openclaw pairing approve line <code>' を使用して送信者を承認してください。
LINE 設定例
{
"channels": {
"line": {
"enabled": true,
"channelAccessToken": "YOUR_CHANNEL_ACCESS_TOKEN",
"channelSecret": "YOUR_CHANNEL_SECRET",
"dmPolicy": "pairing"
}
}
}LINE 詳細ドキュメント
アーキテクチャ概要
LINE Developers Console のセットアップ
{
"channels": {
"line": {
"channelAccessToken": "YOUR_TOKEN",
"channelSecret": "YOUR_SECRET"
}
}
}チャンネルアクセストークン
DM ポリシー
{
"channels": {
"line": {
"dmPolicy": "allowlist",
"allowFrom": ["U1234567890abcdef1234567890abcdef"]
}
}
}グループチャット管理
{
"channels": {
"line": {
"groupPolicy": "open",
"historyLimit": 50
}
}
}リッチメッセージ:Flex とテンプレート
メディアと添付ファイル
{
"channels": {
"line": {
"mediaMaxMb": 10
}
}
}Webhook セキュリティ
ローディングインジケーターと配信
{
"channels": {
"line": {
"textChunkLimit": 5000,
"chunkMode": "newline"
}
}
}マルチアカウント設定
{
"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 設定リファレンス
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | LINE チャンネルの有効/無効を切り替え |
| channelAccessToken | string | "" | LINE Messaging API チャンネルアクセストークン。環境変数 LINE_CHANNEL_ACCESS_TOKEN も使用可能 |
| channelSecret | string | "" | Webhook 署名検証用の LINE チャンネルシークレット。環境変数 LINE_CHANNEL_SECRET も使用可能 |
| tokenFile | string | "" | チャンネルアクセストークンを含むファイルのパス(インライン設定の代替) |
| secretFile | string | "" | チャンネルシークレットを含むファイルのパス(インライン設定の代替) |
| dmPolicy | string | "pairing" | ボットに DM を送信できるユーザーを制御。オプション:pairing、allowlist、open、disabled |
| allowFrom | string[] | [] | dmPolicy が allowlist の場合にボットにメッセージを送信できる LINE ユーザー ID(U + 32桁の16進文字) |
| dmHistoryLimit | number | 50 | 会話ごとに AI コンテキストとして含める最近の DM メッセージ数 |
| groupPolicy | string | "disabled" | グループチャットポリシー。オプション:disabled、allowlist、open |
| groupAllowFrom | string[] | [] | グループでボットをトリガーできる LINE ユーザー ID(groupPolicy が allowlist の場合) |
| historyLimit | number | 50 | AI コンテキストに含める最大グループメッセージ数。0 で無効化 |
| textChunkLimit | number | 5000 | チャンク分割前の送信メッセージあたりの最大文字数 |
| chunkMode | string | "length" | テキストのチャンクモード。オプション:length(ハード分割)、newline(段落対応) |
| mediaMaxMb | number | 10 | 受信メディアファイルの最大サイズ(メガバイト) |
| webhookPath | string | "/line/webhook" | このアカウントのカスタム Webhook パス(マルチアカウント設定で使用) |
| accounts.<id>.channelAccessToken | string | "" | マルチアカウント設定でのアカウントごとのチャンネルアクセストークン |
| accounts.<id>.channelSecret | string | "" | マルチアカウント設定でのアカウントごとのチャンネルシークレット |
| accounts.<id>.webhookPath | string | "/line/<id>/webhook" | マルチアカウント設定でのアカウントごとの Webhook パス |
| configWrites | boolean | true | /config コマンドによるチャンネル設定のランタイム変更を許可 |
LINE チャンネルの有効/無効を切り替え
LINE Messaging API チャンネルアクセストークン。環境変数 LINE_CHANNEL_ACCESS_TOKEN も使用可能
Webhook 署名検証用の LINE チャンネルシークレット。環境変数 LINE_CHANNEL_SECRET も使用可能
チャンネルアクセストークンを含むファイルのパス(インライン設定の代替)
チャンネルシークレットを含むファイルのパス(インライン設定の代替)
ボットに DM を送信できるユーザーを制御。オプション:pairing、allowlist、open、disabled
dmPolicy が allowlist の場合にボットにメッセージを送信できる LINE ユーザー ID(U + 32桁の16進文字)
会話ごとに AI コンテキストとして含める最近の DM メッセージ数
グループチャットポリシー。オプション:disabled、allowlist、open
グループでボットをトリガーできる LINE ユーザー ID(groupPolicy が allowlist の場合)
AI コンテキストに含める最大グループメッセージ数。0 で無効化
チャンク分割前の送信メッセージあたりの最大文字数
テキストのチャンクモード。オプション:length(ハード分割)、newline(段落対応)
受信メディアファイルの最大サイズ(メガバイト)
このアカウントのカスタム Webhook パス(マルチアカウント設定で使用)
マルチアカウント設定でのアカウントごとのチャンネルアクセストークン
マルチアカウント設定でのアカウントごとのチャンネルシークレット
マルチアカウント設定でのアカウントごとの Webhook パス
/config コマンドによるチャンネル設定のランタイム変更を許可
LINE よくある質問
LINE トラブルシューティング
Gateway がインターネットからアクセスできない、URL が正しくない、または SSL 証明書の問題があります。
Console で Webhook が有効になっていない、自動応答が干渉している、または送信者が pairing ポリシーで承認されていません。
チャンネルアクセストークンが無効、期限切れ、または取り消されています。
LINE のリプライトークンは Webhook イベント送信後1分で期限切れになります。AI の処理に時間がかかるとトークンが無効になります。
設定の channelSecret が LINE Developers Console のチャンネルシークレットと一致していないか、リバースプロキシがリクエストボディを変更しています。