{"_id":"@clawdbot/zalouser","_rev":"6-1ff3846e6481b1caa716647537bc8e7e","name":"@clawdbot/zalouser","dist-tags":{"latest":"2026.1.24"},"versions":{"2026.1.16":{"name":"@clawdbot/zalouser","version":"2026.1.16","_id":"@clawdbot/zalouser@2026.1.16","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"josh-clawdbot","email":"josh@clawd.bot"}],"dist":{"shasum":"d35a7b9e9f6deabc2c025f8ce3df66a8c2a321c4","tarball":"https://registry.npmjs.org/@clawdbot/zalouser/-/zalouser-2026.1.16.tgz","fileCount":13,"integrity":"sha512-ov4Ck25REQX0+EtvT9+5JXq2ted4WdUDN9GVY2ShmA4TeupvrRBdvkloMaQq/Unas4AeP8u+K88nqVqptleBpA==","signatures":[{"sig":"MEYCIQCRX6nHupCm0vHZlpuuiYlapWv6M6owGNb2gNJxBWEBdQIhALHxyjGIK7GenTDg69qpeDwvmQBmdU9CvlGQGTJRfvp+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71022},"type":"module","gitHead":"f9f4a953fcd3de6dda6847a11847529205588cd3","_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"clawdbot":{"extensions":["./index.ts"]},"_npmVersion":"11.6.2","description":"Clawdbot Zalo Personal Account plugin via zca-cli","directories":{},"_nodeVersion":"25.3.0","dependencies":{"@sinclair/typebox":"0.34.47"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.1.16_1768651017544_0.5683942248092362","host":"s3://npm-registry-packages-npm-production"}},"2026.1.20":{"name":"@clawdbot/zalouser","version":"2026.1.20","_id":"@clawdbot/zalouser@2026.1.20","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"josh-clawdbot","email":"josh@clawd.bot"}],"dist":{"shasum":"ba17a898518aad5e3ea0ed80829fae7ace22bc97","tarball":"https://registry.npmjs.org/@clawdbot/zalouser/-/zalouser-2026.1.20.tgz","fileCount":19,"integrity":"sha512-Ngv1cqYtD4WqGuBeEMkjjkWnTasX4KoRg7A5F9fSnU+Kx/+cybLubVvJ0UVon315xL7YXLSQTtpXQWFgUiD3Yg==","signatures":[{"sig":"MEUCIQDAbuzFFdZV4d/Sw/7xsk/uYxC/Bmp87rbKdvhyYTIrzQIgG4ErYUnuxKfl23pQWaoM/rdKIrdHq5rZKwKv5ELpekc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88579},"type":"module","gitHead":"ab97c6880b27b75d8cbaf48e788b64bc205b35c8","_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"clawdbot":{"channel":{"id":"zalouser","blurb":"Zalo personal account via QR code login.","label":"Zalo Personal","order":85,"aliases":["zlu"],"docsPath":"/channels/zalouser","docsLabel":"zalouser","selectionLabel":"Zalo (Personal Account)","quickstartAllowFrom":true},"install":{"npmSpec":"@clawdbot/zalouser","localPath":"extensions/zalouser","defaultChoice":"npm"},"extensions":["./index.ts"]},"_npmVersion":"11.6.2","description":"Clawdbot Zalo Personal Account plugin via zca-cli","directories":{},"_nodeVersion":"25.3.0","dependencies":{"clawdbot":"workspace:*","@sinclair/typebox":"0.34.47"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.1.20_1768979471553_0.022305758990034175","host":"s3://npm-registry-packages-npm-production"}},"2026.1.21":{"name":"@clawdbot/zalouser","version":"2026.1.21","_id":"@clawdbot/zalouser@2026.1.21","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"josh-clawdbot","email":"josh@clawd.bot"}],"dist":{"shasum":"76e1bcdf34d3c49feb33a242d8e4e3d6542fa8d2","tarball":"https://registry.npmjs.org/@clawdbot/zalouser/-/zalouser-2026.1.21.tgz","fileCount":19,"integrity":"sha512-q1gezq0L6vZe8hee3RzJFTbDLW0f2qiZGyG08VI8XQC1Y+74xhcwJZzbVHj56Wh+RY51Qm9ZzxnX4+h/rc+i1g==","signatures":[{"sig":"MEQCIA0nq5BY4CE6lW6FGUsVj/kWbj3ODf9QyfGhe0g98H6VAiBORe0C6GUUWMBW9DF0TIrNnWm6gYABu4rz5dzA3KPr6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89382},"type":"module","gitHead":"2df4946efc4b2ab90920fdca4f6d4108a0a3385e","_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"clawdbot":{"channel":{"id":"zalouser","blurb":"Zalo personal account via QR code login.","label":"Zalo Personal","order":85,"aliases":["zlu"],"docsPath":"/channels/zalouser","docsLabel":"zalouser","selectionLabel":"Zalo (Personal Account)","quickstartAllowFrom":true},"install":{"npmSpec":"@clawdbot/zalouser","localPath":"extensions/zalouser","defaultChoice":"npm"},"extensions":["./index.ts"]},"_npmVersion":"11.6.2","description":"Clawdbot Zalo Personal Account plugin via zca-cli","directories":{},"_nodeVersion":"25.3.0","dependencies":{"clawdbot":"workspace:*","@sinclair/typebox":"0.34.47"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.1.21_1769073118289_0.3091812169047492","host":"s3://npm-registry-packages-npm-production"}},"2026.1.22":{"name":"@clawdbot/zalouser","version":"2026.1.22","_id":"@clawdbot/zalouser@2026.1.22","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"josh-clawdbot","email":"josh@clawd.bot"}],"dist":{"shasum":"b854abd15301f552ad4f737ceb0ffcdfa40a8581","tarball":"https://registry.npmjs.org/@clawdbot/zalouser/-/zalouser-2026.1.22.tgz","fileCount":19,"integrity":"sha512-arPbOVKQMmuYeTVyqWBNBiEkT/Mtz9BZCvhT0g8yPNUlewbyEu8KKfsJUFqIT2yJInsdldT4pNfu1yAAVbYubA==","signatures":[{"sig":"MEYCIQDwXhAY/fuAALr5qeak1/CFPnpTkXxlt8uYKYaoPpUzVQIhAJKL+HOdIZ5oACOZXcvu0fLA9nuud2DFbSaunOe9GHyS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":89465},"type":"module","gitHead":"ff78e9a564fcba450720a8b79e3829423d5bcee6","_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"clawdbot":{"channel":{"id":"zalouser","blurb":"Zalo personal account via QR code login.","label":"Zalo Personal","order":85,"aliases":["zlu"],"docsPath":"/channels/zalouser","docsLabel":"zalouser","selectionLabel":"Zalo (Personal Account)","quickstartAllowFrom":true},"install":{"npmSpec":"@clawdbot/zalouser","localPath":"extensions/zalouser","defaultChoice":"npm"},"extensions":["./index.ts"]},"_npmVersion":"11.6.2","description":"Clawdbot Zalo Personal Account plugin via zca-cli","directories":{},"_nodeVersion":"25.3.0","dependencies":{"clawdbot":"workspace:*","@sinclair/typebox":"0.34.47"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.1.22_1769153829545_0.49786467765112685","host":"s3://npm-registry-packages-npm-production"}},"2026.1.23":{"name":"@clawdbot/zalouser","version":"2026.1.23","_id":"@clawdbot/zalouser@2026.1.23","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"josh-clawdbot","email":"josh@clawd.bot"}],"dist":{"shasum":"b3aead7272f8b66f728bb01fe160c56aef3011ee","tarball":"https://registry.npmjs.org/@clawdbot/zalouser/-/zalouser-2026.1.23.tgz","fileCount":19,"integrity":"sha512-vY7HB9dcM8lDIWIU7/eJLxEVOHA3FL4kySr3WK3sd9L77piOfmCQ4kBcRVxJysJ6QNMhM+ku/uPuJZ+aVHlWlw==","signatures":[{"sig":"MEUCIDKw5CXx2lUYyvIw9t7abmoq3FTY7yZAB1abrmiekeK4AiEA7+3Gdl2WwcRZcfz0CnjtkOBPWahj2QF9sLYHDR9xLSI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":90926},"type":"module","gitHead":"ac45c8b4045fdb0cc99c8a7213f8092e6d3625d4","_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"clawdbot":{"channel":{"id":"zalouser","blurb":"Zalo personal account via QR code login.","label":"Zalo Personal","order":85,"aliases":["zlu"],"docsPath":"/channels/zalouser","docsLabel":"zalouser","selectionLabel":"Zalo (Personal Account)","quickstartAllowFrom":true},"install":{"npmSpec":"@clawdbot/zalouser","localPath":"extensions/zalouser","defaultChoice":"npm"},"extensions":["./index.ts"]},"_npmVersion":"11.6.2","description":"Clawdbot Zalo Personal Account plugin via zca-cli","directories":{},"_nodeVersion":"25.3.0","dependencies":{"clawdbot":"workspace:*","@sinclair/typebox":"0.34.47"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/zalouser_2026.1.23_1769258444182_0.2839991149023877","host":"s3://npm-registry-packages-npm-production"}},"2026.1.24":{"name":"@clawdbot/zalouser","version":"2026.1.24","type":"module","description":"Clawdbot Zalo Personal Account plugin via zca-cli","dependencies":{"clawdbot":"workspace:*","@sinclair/typebox":"0.34.47"},"clawdbot":{"extensions":["./index.ts"],"channel":{"id":"zalouser","label":"Zalo Personal","selectionLabel":"Zalo (Personal Account)","docsPath":"/channels/zalouser","docsLabel":"zalouser","blurb":"Zalo personal account via QR code login.","aliases":["zlu"],"order":85,"quickstartAllowFrom":true},"install":{"npmSpec":"@clawdbot/zalouser","localPath":"extensions/zalouser","defaultChoice":"npm"}},"gitHead":"8257ec6a1fd95b0bc402e5301754954294b4efca","_id":"@clawdbot/zalouser@2026.1.24","_nodeVersion":"25.3.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-Ccyu+sNjJzGtAL7JzJilf9QK12Wwq7jwW+RURAbazApBgdo5h5t7vj+jWNdlUT0NmW/q4nKxixnMZaCBRM9GsQ==","shasum":"b6f2002991b520811ce8a2a39e23741f4de34c10","tarball":"https://registry.npmjs.org/@clawdbot/zalouser/-/zalouser-2026.1.24.tgz","fileCount":19,"unpackedSize":91212,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICXT+llNIYTuc71BnZdnwKpT5aIy+08cQZJYbB/Nh+kmAiEA0t70uPld08vG+h7lmSdCx2N8zvgQv/RUHmDDhdzka5w="}]},"_npmUser":{"name":"steipete","email":"steipete@gmail.com"},"directories":{},"maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"josh-clawdbot","email":"josh@clawd.bot"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zalouser_2026.1.24_1769347103514_0.5365812598600401"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-17T11:56:57.422Z","modified":"2026-01-25T13:18:23.847Z","2026.1.16":"2026-01-17T11:56:57.688Z","2026.1.20":"2026-01-21T07:11:11.719Z","2026.1.21":"2026-01-22T09:11:58.415Z","2026.1.22":"2026-01-23T07:37:09.684Z","2026.1.23":"2026-01-24T12:40:44.321Z","2026.1.24":"2026-01-25T13:18:23.700Z"},"description":"Clawdbot Zalo Personal Account plugin via zca-cli","maintainers":[{"name":"steipete","email":"steipete@gmail.com"},{"name":"josh-clawdbot","email":"josh@clawd.bot"}],"readme":"# @clawdbot/zalouser\n\nClawdbot extension for Zalo Personal Account messaging via [zca-cli](https://zca-cli.dev).\n\n> **Warning:** Using Zalo automation may result in account suspension or ban. Use at your own risk. This is an unofficial integration.\n\n## Features\n\n- **Channel Plugin Integration**: Appears in onboarding wizard with QR login\n- **Gateway Integration**: Real-time message listening via the gateway\n- **Multi-Account Support**: Manage multiple Zalo personal accounts\n- **CLI Commands**: Full command-line interface for messaging\n- **Agent Tool**: AI agent integration for automated messaging\n\n## Prerequisites\n\nInstall `zca` CLI and ensure it's in your PATH:\n\n\n**macOS / Linux:**\n```bash\ncurl -fsSL https://get.zca-cli.dev/install.sh | bash\n\n# Or with custom install directory\nZCA_INSTALL_DIR=~/.local/bin curl -fsSL https://get.zca-cli.dev/install.sh | bash\n\n# Install specific version\ncurl -fsSL https://get.zca-cli.dev/install.sh | bash -s v1.0.0\n\n# Uninstall\ncurl -fsSL https://get.zca-cli.dev/install.sh | bash -s uninstall\n```\n\n**Windows (PowerShell):**\n```powershell\nirm https://get.zca-cli.dev/install.ps1 | iex\n\n# Or with custom install directory\n$env:ZCA_INSTALL_DIR = \"C:\\Tools\\zca\"; irm https://get.zca-cli.dev/install.ps1 | iex\n\n# Install specific version\niex \"& { $(irm https://get.zca-cli.dev/install.ps1) } -Version v1.0.0\"\n\n# Uninstall\niex \"& { $(irm https://get.zca-cli.dev/install.ps1) } -Uninstall\"\n```\n\n### Manual Download\n\nDownload binary directly:\n\n**macOS / Linux:**\n```bash\ncurl -fsSL https://get.zca-cli.dev/latest/zca-darwin-arm64 -o zca && chmod +x zca\n```\n\n**Windows (PowerShell):**\n```powershell\nInvoke-WebRequest -Uri https://get.zca-cli.dev/latest/zca-windows-x64.exe -OutFile zca.exe\n```\n\nAvailable binaries:\n- `zca-darwin-arm64` - macOS Apple Silicon\n- `zca-darwin-x64` - macOS Intel\n- `zca-linux-arm64` - Linux ARM64\n- `zca-linux-x64` - Linux x86_64\n- `zca-windows-x64.exe` - Windows\n\nSee [zca-cli](https://zca-cli.dev) for manual download (binaries for macOS/Linux/Windows) or building from source.\n\n## Quick Start\n\n### Option 1: Onboarding Wizard (Recommended)\n\n```bash\nclawdbot onboard\n# Select \"Zalo Personal\" from channel list\n# Follow QR code login flow\n```\n\n### Option 2: Login (QR, on the Gateway machine)\n\n```bash\nclawdbot channels login --channel zalouser\n# Scan QR code with Zalo app\n```\n\n### Send a Message\n\n```bash\nclawdbot message send --channel zalouser --target <threadId> --message \"Hello from Clawdbot!\"\n```\n\n## Configuration\n\nAfter onboarding, your config will include:\n\n```yaml\nchannels:\n  zalouser:\n    enabled: true\n    dmPolicy: pairing  # pairing | allowlist | open | disabled\n```\n\nFor multi-account:\n\n```yaml\nchannels:\n  zalouser:\n    enabled: true\n    defaultAccount: default\n    accounts:\n      default:\n        enabled: true\n        profile: default\n      work:\n        enabled: true\n        profile: work\n```\n\n## Commands\n\n### Authentication\n\n```bash\nclawdbot channels login --channel zalouser              # Login via QR\nclawdbot channels login --channel zalouser --account work\nclawdbot channels status --probe\nclawdbot channels logout --channel zalouser\n```\n\n### Directory (IDs, contacts, groups)\n\n```bash\nclawdbot directory self --channel zalouser\nclawdbot directory peers list --channel zalouser --query \"name\"\nclawdbot directory groups list --channel zalouser --query \"work\"\nclawdbot directory groups members --channel zalouser --group-id <id>\n```\n\n### Account Management\n\n```bash\nzca account list      # List all profiles\nzca account current   # Show active profile\nzca account switch <profile>\nzca account remove <profile>\nzca account label <profile> \"Work Account\"\n```\n\n### Messaging\n\n```bash\n# Text\nclawdbot message send --channel zalouser --target <threadId> --message \"message\"\n\n# Media (URL)\nclawdbot message send --channel zalouser --target <threadId> --message \"caption\" --media-url \"https://example.com/img.jpg\"\n```\n\n### Listener\n\nThe listener runs inside the Gateway when the channel is enabled. For debugging,\nuse `clawdbot channels logs --channel zalouser` or run `zca listen` directly.\n\n### Data Access\n\n```bash\n# Friends\nzca friend list\nzca friend list -j    # JSON output\nzca friend find \"name\"\nzca friend online\n\n# Groups\nzca group list\nzca group info <groupId>\nzca group members <groupId>\n\n# Profile\nzca me info\nzca me id\n```\n\n## Multi-Account Support\n\nUse `--profile` or `-p` to work with multiple accounts:\n\n```bash\nclawdbot channels login --channel zalouser --account work\nclawdbot message send --channel zalouser --account work --target <id> --message \"Hello\"\nZCA_PROFILE=work zca listen\n```\n\nProfile resolution order: `--profile` flag > `ZCA_PROFILE` env > default\n\n## Agent Tool\n\nThe extension registers a `zalouser` tool for AI agents:\n\n```json\n{\n  \"action\": \"send\",\n  \"threadId\": \"123456\",\n  \"message\": \"Hello from AI!\",\n  \"isGroup\": false,\n  \"profile\": \"default\"\n}\n```\n\nAvailable actions: `send`, `image`, `link`, `friends`, `groups`, `me`, `status`\n\n## Troubleshooting\n\n- **Login Issues:** Run `zca auth logout` then `zca auth login`\n- **API Errors:** Try `zca auth cache-refresh` or re-login\n- **File Uploads:** Check size (max 100MB) and path accessibility\n\n## Credits\n\nBuilt on [zca-cli](https://zca-cli.dev) which uses [zca-js](https://github.com/RFS-ADRENO/zca-js).\n","readmeFilename":"README.md"}