LINEでOpenClawを使うイメージ

【最新版】LINEでOpenClawを使う方法(Messaging API連携)

LINE

LINE(プラグイン)

LINE は LINE Messaging API を介して OpenClaw に接続します。このプラグインは Gateway 上で Webhook 受信者として動作し、認証にはチャネルアクセストークンチャネルシークレット を使用します。

ステータス:プラグイン経由でサポート。ダイレクトメッセージ、グループチャット、メディア、位置情報、Flex メッセージ、テンプレートメッセージ、クイックリプライに対応しています。リアクションとスレッドはサポートされません。

プラグインが必要です

LINE プラグインをインストールします:

openclaw plugins install @openclaw/line

(git リポジトリから実行している場合の)ローカルチェックアウト:

openclaw plugins install ./extensions/line

セットアップ

  1. LINE Developers アカウントを作成し、Console を開きます:https://developers.line.biz/console/
  2. Provider を作成(または選択)し、Messaging API チャネルを追加します。
  3. チャネル設定から Channel access tokenChannel secret をコピーします。
  4. Messaging API 設定で Use webhook を有効化します。
  5. Webhook URL を Gateway のエンドポイントに設定します(HTTPS 必須):
https://gateway-host/line/webhook

Gateway は LINE の Webhook 検証(GET)と受信イベント(POST)に応答します。 カスタムパスが必要な場合は channels.line.webhookPath またはchannels.line.accounts.<id>.webhookPath を設定し、それに合わせて URL を更新してください。

セキュリティ注意:

  • LINE の署名検証は body 依存(生の body に対する HMAC)です。そのため OpenClaw は、検証前に厳格な pre-auth の body 上限とタイムアウトを適用します。

設定(Configure)

最小の config:

{
  channels: {
    line: {
      enabled: true,
      channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN",
      channelSecret: "LINE_CHANNEL_SECRET",
      dmPolicy: "pairing",
    },
  },
}

環境変数(デフォルトアカウントのみ):

  • LINE_CHANNEL_ACCESS_TOKEN
  • LINE_CHANNEL_SECRET

トークン/シークレットのファイル指定:

{
  channels: {
    line: {
      tokenFile: "/path/to/line-token.txt",
      secretFile: "/path/to/line-secret.txt",
    },
  },
}

tokenFilesecretFile は通常のファイルを指している必要があります。シンボリックリンクは拒否されます。

複数アカウント:

{
  channels: {
    line: {
      accounts: {
        marketing: {
          channelAccessToken: "...",
          channelSecret: "...",
          webhookPath: "/line/marketing",
        },
      },
    },
  },
}

アクセス制御

ダイレクトメッセージのデフォルトは pairing です。未知の送信者はペアリングコードを受け取り、その後承認されるまでメッセージは無視されます。

openclaw pairing list line
openclaw pairing approve line <CODE>

Allowlist とポリシー:

  • channels.line.dmPolicy: pairing | allowlist | open | disabled
  • channels.line.allowFrom: DM を許可する LINE のユーザー ID(allowlist)
  • channels.line.groupPolicy: allowlist | open | disabled
  • channels.line.groupAllowFrom: グループで許可する LINE のユーザー ID(allowlist)
  • グループ単位の上書き:channels.line.groups.<groupId>.allowFrom
  • ランタイム注意:channels.line が完全に欠けている場合、ランタイムはグループチェックのために groupPolicy="allowlist" にフォールバックします(channels.defaults.groupPolicy が設定されていても同様)。

LINE ID は大文字小文字を区別します。有効な ID 例:

  • ユーザー:U + 32 桁の 16 進数
  • グループ:C + 32 桁の 16 進数
  • ルーム:R + 32 桁の 16 進数

メッセージの挙動

  • テキストは 5000 文字で分割されます。
  • Markdown の書式は取り除かれます。可能な場合、コードブロックとテーブルは Flex カードに変換されます。
  • ストリーミング応答はバッファされます。エージェントが動作している間、LINE はローディングアニメーション付きで完全なチャンクを受け取ります。
  • メディアのダウンロードは channels.line.mediaMaxMb(デフォルト 10)で制限されます。

チャネルデータ(リッチメッセージ)

channelData.line を使うと、クイックリプライ、位置情報、Flex カード、テンプレートメッセージを送れます。

{
  text: "Here you go",
  channelData: {
    line: {
      quickReplies: ["Status", "Help"],
      location: {
        title: "Office",
        address: "123 Main St",
        latitude: 35.681236,
        longitude: 139.767125,
      },
      flexMessage: {
        altText: "Status card",
        contents: {
          /* Flex payload */
        },
      },
      templateMessage: {
        type: "confirm",
        text: "Proceed?",
        confirmLabel: "Yes",
        confirmData: "yes",
        cancelLabel: "No",
        cancelData: "no",
      },
    },
  },
}

LINE プラグインには Flex メッセージのプリセット用 /card コマンドも同梱されています:

/card info "Welcome" "Thanks for joining!"

トラブルシューティング

  • Webhook 検証が失敗する: Webhook URL が HTTPS であること、そして channelSecret が LINE console と一致していることを確認してください。
  • 受信イベントが来ない: Webhook パスが channels.line.webhookPath と一致していること、そして LINE から Gateway に到達できることを確認してください。
  • メディアのダウンロードエラー: メディアがデフォルト上限を超える場合は channels.line.mediaMaxMb を増やしてください。

参考

BizClaw 導入支援

OpenClaw の構築を
まるごと代行します

Mac mini のセットアップから Slack・iMessage 連携まで、届いた日から使える状態でお届けします。

サービスを見る

関連記事

Read article
AIエージェントのメモリスタックとは?2026年に重要度が上がる理由をやさしく解説

AIエージェントのメモリスタックとは?2026年に重要度が上がる理由をやさしく解説

Read article
OpenClaw vs Hermes vs Claude、創業者はどれを選ぶべき?2026年版の実務比較

OpenClaw vs Hermes vs Claude、創業者はどれを選ぶべき?2026年版の実務比較

Read article
X公式MCPサーバーとは?AIエージェント運用で何が変わるのかを実務目線で解説

X公式MCPサーバーとは?AIエージェント運用で何が変わるのかを実務目線で解説