Files
openclaw/extensions/zalouser/README.md

120 lines
2.5 KiB
Markdown

# @openclaw/zalouser
OpenClaw extension for Zalo Personal Account messaging via native `zca-js` integration.
> **Warning:** Using Zalo automation may result in account suspension or ban. Use at your own risk. This is an unofficial integration.
## Features
- Channel plugin integration with onboarding + QR login
- In-process listener/sender via `zca-js` (no external CLI)
- Multi-account support
- Agent tool integration (`zalouser`)
- DM/group policy support
## Prerequisites
- OpenClaw Gateway
- Zalo mobile app (for QR login)
No external `zca`, `openzca`, or `zca-cli` binary is required.
## Install
### Option A: npm
```bash
openclaw plugins install @openclaw/zalouser
```
### Option B: local source checkout
```bash
openclaw plugins install ./extensions/zalouser
cd ./extensions/zalouser && pnpm install
```
Restart the Gateway after install.
## Quick start
### Login (QR)
```bash
openclaw channels login --channel zalouser
```
Scan the QR code with the Zalo app on your phone.
### Enable channel
```yaml
channels:
zalouser:
enabled: true
dmPolicy: pairing # pairing | allowlist | open | disabled
```
### Send a message
```bash
openclaw message send --channel zalouser --target <threadId> --message "Hello from OpenClaw"
```
## Configuration
Basic:
```yaml
channels:
zalouser:
enabled: true
dmPolicy: pairing
```
Multi-account:
```yaml
channels:
zalouser:
enabled: true
defaultAccount: default
accounts:
default:
enabled: true
profile: default
work:
enabled: true
profile: work
```
## Useful commands
```bash
openclaw channels login --channel zalouser
openclaw channels login --channel zalouser --account work
openclaw channels status --probe
openclaw channels logout --channel zalouser
openclaw directory self --channel zalouser
openclaw directory peers list --channel zalouser --query "name"
openclaw directory groups list --channel zalouser --query "work"
openclaw directory groups members --channel zalouser --group-id <id>
```
## Agent tool
The extension registers a `zalouser` tool for AI agents.
Available actions: `send`, `image`, `link`, `friends`, `groups`, `me`, `status`
## Troubleshooting
- Login not persisted: `openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser`
- Probe status: `openclaw channels status --probe`
- Name resolution issues (allowlist/groups): use numeric IDs or exact Zalo names
## Credits
Built on [zca-js](https://github.com/RFS-ADRENO/zca-js).