Zalo Personal(非官方)
适用范围
在以下情况下使用本页面:
- 为 Moltbot 设置 Zalo Personal
- 调试 Zalo Personal 登录或消息流程
状态:实验性。此集成通过 zca-cli 自动化个人 Zalo 账户。
**警告:**这是一个非官方集成,可能会导致账户暂停/封禁。使用风险自负。
需要插件
Zalo Personal 作为插件提供,不与核心安装捆绑。
- 通过 CLI 安装:
moltbot plugins install @moltbot/zalouser - 或从源代码签出:
moltbot plugins install ./extensions/zalouser - 详细信息:插件
前提条件:zca-cli
Gateway 机器必须在 PATH 中有 zca 二进制文件可用。
- 验证:
zca --version - 如果缺少,请安装 zca-cli(参见
extensions/zalouser/README.md或上游 zca-cli 文档)。
快速设置(初学者)
- 安装插件(见上文)。
- 登录(QR,在 Gateway 机器上):
moltbot channels login --channel zalouser- 使用 Zalo 移动应用程序扫描终端中的 QR 码。
- 启用频道:
{
channels: {
zalouser: {
enabled: true,
dmPolicy: "pairing"
}
}
}- 重启 Gateway(或完成入职)。
- 私信访问默认为配对;在首次联系时批准配对码。
它是什么
- 使用
zca listen接收入站消息。 - 使用
zca msg ...发送回复(文本/媒体/链接)。 - 设计用于 Zalo Bot API 不可用的"个人账户"用例。
命名
频道 ID 是 zalouser,以明确这自动化了个人 Zalo 用户账户(非官方)。我们保留 zalo 用于未来可能的官方 Zalo API 集成。
查找 ID(目录)
使用目录 CLI 发现对等方/群组及其 ID:
moltbot directory self --channel zalouser
moltbot directory peers list --channel zalouser --query "name"
moltbot directory groups list --channel zalouser --query "work"限制
- 出站文本分块为约 2000 个字符(Zalo 客户端限制)。
- 默认情况下阻止流式传输。
访问控制(私信)
channels.zalouser.dmPolicy 支持:pairing | allowlist | open | disabled(默认:pairing)。
channels.zalouser.allowFrom 接受用户 ID 或名称。当可用时,向导通过 zca friend find 将名称解析为 ID。
通过以下方式批准:
moltbot pairing list zalousermoltbot pairing approve zalouser <code>
群组访问(可选)
- 默认:
channels.zalouser.groupPolicy = "open"(允许群组)。在未设置时使用channels.defaults.groupPolicy覆盖默认值。 - 使用以下方式限制为允许列表:
channels.zalouser.groupPolicy = "allowlist"channels.zalouser.groups(键是群组 ID 或名称)
- 阻止所有群组:
channels.zalouser.groupPolicy = "disabled"。 - 配置向导可以提示群组允许列表。
- 启动时,Moltbot 将允许列表中的群组/用户名称解析为 ID 并记录映射;未解析的条目保持输入状态。
示例:
{
channels: {
zalouser: {
groupPolicy: "allowlist",
groups: {
"123456789": { allow: true },
"Work Chat": { allow: true }
}
}
}
}多账户
账户映射到 zca 配置文件。示例:
{
channels: {
zalouser: {
enabled: true,
defaultAccount: "default",
accounts: {
work: { enabled: true, profile: "work" }
}
}
}
}故障排除
找不到 zca:
- 安装 zca-cli 并确保它在 Gateway 进程的
PATH上。
登录不成功:
moltbot channels status --probe- 重新登录:
moltbot channels logout --channel zalouser && moltbot channels login --channel zalouser