メッセージングプラットフォーム
Zalo 個人アカウント
ステータス: 実験的。この連携は、OpenClaw内のネイティブなzca-jsを使用して個人Zaloアカウントを自動化します。
警告: これは非公式の連携であり、アカウントの停止/禁止につながる可能性があります。自己責任でご利用ください。
必要なプラグイン
Zalo Personalはプラグインとして提供され、コアインストールにはバンドルされていません。
- CLI経由でインストール:
openclaw plugins install @openclaw/zalouser - またはソースチェックアウトから:
openclaw plugins install ./extensions/zalouser - 詳細: プラグイン
外部のzca/openzca CLIバイナリは必要ありません。
クイックセットアップ (初心者向け)
- プラグインをインストール (上記参照)。
- ログイン (QRコード、Gatewayマシン上で):
openclaw channels login --channel zalouser- ZaloモバイルアプリでQRコードをスキャンします。
- チャンネルを有効化:
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing",
},
},
}
- Gatewayを再起動 (またはオンボーディングを完了)。
- DMアクセスはデフォルトでペアリング; 最初のコンタクトでペアリングコードを承認します。
概要
zca-jsを介して完全にプロセス内で実行されます。- ネイティブなイベントリスナーを使用して受信メッセージを受信します。
- JS APIを直接介して返信を送信します (テキスト/メディア/リンク)。
- Zalo Bot APIが利用できない「個人アカウント」ユースケース向けに設計されています。
命名規則
チャンネルIDはzalouserとし、これが個人Zaloユーザーアカウント (非公式) を自動化することを明確にします。将来の公式Zalo API連携の可能性のために、zaloは予約済みです。
IDの検索 (ディレクトリ)
ディレクトリCLIを使用して、ピア/グループとそのIDを検出します:
openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"
制限事項
- 送信テキストは約2000文字に分割されます (Zaloクライアントの制限)。
- ストリーミングはデフォルトでブロックされています。
アクセス制御 (DM)
channels.zalouser.dmPolicy は以下をサポート: pairing | allowlist | open | disabled (デフォルト: pairing)。channels.zalouser.allowFrom はユーザーIDまたは名前を受け付けます。オンボーディング中、名前はプラグインのプロセス内連絡先検索を使用してIDに解決されます。以下のコマンドで承認します:
openclaw pairing list zalouseropenclaw pairing approve zalouser <code>
グループアクセス (オプション)
- デフォルト:
channels.zalouser.groupPolicy = "open"(グループ許可)。未設定時のデフォルトを上書きするにはchannels.defaults.groupPolicyを使用します。 - 許可リストに制限するには:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(キーはグループIDまたは名前)
- すべてのグループをブロック:
channels.zalouser.groupPolicy = "disabled"。 - 設定ウィザードはグループ許可リストの入力を促すことができます。
- 起動時、OpenClawは許可リスト内のグループ/ユーザー名をIDに解決し、マッピングをログに記録します。解決できないエントリは入力されたまま保持されます。
例:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true },
},
},
},
}
グループメンションゲーティング
channels.zalouser.groups.<group>.requireMentionは、グループへの返信にメンションが必要かどうかを制御します。- 解決順序: 正確なグループID/名前 -> 正規化されたグループスラッグ ->
*-> デフォルト (true)。 - これは許可リストされたグループとオープングループモードの両方に適用されます。
例:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"*": { allow: true, requireMention: true },
"Work Chat": { allow: true, requireMention: false },
},
},
},
}
マルチアカウント
アカウントはOpenClaw状態内のzalouserプロファイルにマッピングされます。例:
{
channels: {
zalouser: {
enabled: true,
defaultAccount: "default",
accounts: {
work: { enabled: true, profile: "work" },
},
},
},
}
入力中表示、リアクション、配信確認
- OpenClawは返信を送信する前に (ベストエフォートで) 入力中イベントを送信します。
- メッセージリアクションアクション
reactは、チャンネルアクション内のzalouserでサポートされています。- 特定のリアクション絵文字をメッセージから削除するには
remove: trueを使用します。 - リアクションのセマンティクス: リアクション
- 特定のリアクション絵文字をメッセージから削除するには
- イベントメタデータを含む受信メッセージに対して、OpenClawは配信済み + 既読確認を送信します (ベストエフォート)。
トラブルシューティング
ログインが保持されない:
openclaw channels status --probe- 再ログイン:
openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser
許可リスト/グループ名が解決されなかった:
allowFrom/groupsで数値ID、または正確なフレンド/グループ名を使用してください。
古いCLIベースのセットアップからアップグレードした場合:
- 古い外部
zcaプロセスの前提条件をすべて削除してください。 - チャンネルは現在、外部CLIバイナリなしでOpenClaw内で完全に実行されます。