OpenClaw WhatsApp チャンネル
Baileys プロトコルを使用して OpenClaw を WhatsApp に接続します。この統合により、Business API を必要とせずに AI アシスタントが WhatsApp でメッセージの送受信が可能になります。スマートフォンで QR コードをスキャンするだけで準備完了です。クリーンなルーティングのために専用の電話番号の使用を推奨します。
WhatsApp 対応機能
テキストメッセージ
対応
メディア・ファイル
対応
リアクション
対応
スレッド
非対応
音声メッセージ
対応
グループチャット
対応
WhatsApp 前提条件
- WhatsApp 専用の電話番号(個人番号とは別の番号を推奨)
- サーバーに Node.js 18+ がインストール済み(Bun は非推奨)
- OpenClaw Gateway が稼働・設定済み
WhatsApp クイックセットアップ
WhatsApp チャンネル設定を追加
~/.openclaw/openclaw.json に WhatsApp チャンネルの設定を追加します。dmPolicy(allowlist、pairing、または open)と allowFrom リストを設定して、アシスタントにメッセージを送信できるユーザーを制御します。
ログインコマンドを実行して QR コードをスキャン
ターミナルで 'openclaw channels login' を実行します。QR コードが表示されます。スマートフォンの WhatsApp でスキャンしてください(設定 > リンクされたデバイス > デバイスをリンク)。認証情報は ~/.openclaw/credentials/whatsapp/ に保存されます。
テストメッセージを送信
別のスマートフォンから WhatsApp 番号にダイレクトメッセージを送信します。allowlist ポリシーを使用している場合は、送信者の番号が allowFrom リストに含まれていることを確認してください。デフォルトの pairing ポリシーを使用している場合は、'openclaw pairing approve whatsapp <code>' で送信者を承認してください。
WhatsApp 設定例
{
"channels": {
"whatsapp": {
"dmPolicy": "allowlist",
"allowFrom": ["+15551234567"]
}
}
}WhatsApp 詳細ドキュメント
アーキテクチャ概要
電話番号のセットアップ
{
"channels": {
"whatsapp": {
"accounts": {
"default": {
"phone": "+15551234567"
}
}
}
}
}ログインと認証情報
openclaw channels login whatsappDM ポリシー
{
"channels": {
"whatsapp": {
"dmPolicy": "pairing",
"allowFrom": ["+15551234567", "+15559876543"]
}
}
}グループチャット管理
{
"channels": {
"whatsapp": {
"groupPolicy": "allowlist",
"groupActivation": "mention",
"groupAllowList": ["group-jid-1", "group-jid-2"]
}
}
}既読確認
{
"channels": {
"whatsapp": {
"sendReadReceipts": true
}
}
}確認リアクション
{
"channels": {
"whatsapp": {
"ackReaction": {
"emoji": "👀",
"direct": true,
"group": true
}
}
}
}送信メッセージとメディア
レート制限と送信制限
{
"channels": {
"whatsapp": {
"textChunkLimit": 5,
"mediaMaxMb": 50
}
}
}なぜ Twilio / WhatsApp Business API を使わないのか?
WhatsApp 設定リファレンス
| Key | Type | Default | Description |
|---|---|---|---|
| dmPolicy | string | "pairing" | ボットに DM を送信できるユーザーを制御。オプション:pairing、allowlist、open、disabled |
| selfChatMode | string | "disabled" | 自分自身への送信メッセージの処理方法。オプション:disabled、ai、note |
| allowFrom | string[] | [] | ボットにメッセージを送信できる電話番号のリスト(dmPolicy が allowlist の場合) |
| sendReadReceipts | boolean | true | メッセージ処理時に青いチェックマークの既読確認を送信するかどうか |
| ackReaction.emoji | string | "👀" | メッセージ受信確認に使用する絵文字 |
| ackReaction.direct | boolean | true | ダイレクトメッセージで確認リアクションを送信 |
| ackReaction.group | boolean | true | グループメッセージで確認リアクションを送信 |
| textChunkLimit | number | 5 | AI 応答あたりの最大テキストチャンク数 |
| mediaMaxMb | number | 50 | 受信メディアファイルの最大サイズ(MB)。送信制限は agents.defaults.mediaMaxMb で制御(デフォルト 5 MB) |
| groupPolicy | string | "disabled" | グループチャットポリシー。オプション:disabled、allowlist、open |
| groupActivation | string | "mention" | グループでボットをトリガーする方法。オプション:mention、always |
| historyLimit | number | 50 | AI コンテキストとして含める最近のメッセージ数 |
| chunkMode | string | "split" | 長い応答の処理方法。オプション:split、newline、truncate |
| messagePrefix | string | "" | すべての送信メッセージに追加するオプションのプレフィックス |
| accounts.<id>.* | object | {} | アカウントごとの設定(電話番号、認証情報パス、上書き設定) |
ボットに DM を送信できるユーザーを制御。オプション:pairing、allowlist、open、disabled
自分自身への送信メッセージの処理方法。オプション:disabled、ai、note
ボットにメッセージを送信できる電話番号のリスト(dmPolicy が allowlist の場合)
メッセージ処理時に青いチェックマークの既読確認を送信するかどうか
メッセージ受信確認に使用する絵文字
ダイレクトメッセージで確認リアクションを送信
グループメッセージで確認リアクションを送信
AI 応答あたりの最大テキストチャンク数
受信メディアファイルの最大サイズ(MB)。送信制限は agents.defaults.mediaMaxMb で制御(デフォルト 5 MB)
グループチャットポリシー。オプション:disabled、allowlist、open
グループでボットをトリガーする方法。オプション:mention、always
AI コンテキストとして含める最近のメッセージ数
長い応答の処理方法。オプション:split、newline、truncate
すべての送信メッセージに追加するオプションのプレフィックス
アカウントごとの設定(電話番号、認証情報パス、上書き設定)
WhatsApp よくある質問
WhatsApp トラブルシューティング
セッションの認証情報が期限切れになったか、スマートフォンの WhatsApp アプリがアップデートされてリンクされたセッションが無効になった可能性があります。
通常、スマートフォンが長期間オフラインになった場合、または別のリンクされたデバイスが Gateway セッションと競合している場合に発生します。
レート制限、ネットワークの問題、または受信者が番号をブロックしている。