@clisbot/channels-zalouser
内幕 扎洛个人 垂直通道(目标分类账切片 17),从
extensions/zalouser/src 时间 5d8067a4483接通了接通的接通部分;
HUB-WIRING.MD (英语) 是它创建和保存的交接文档
赫伯一方拥有的纪录.
Zalo个人不是机器人。 它驱动一个 真实的个人Zalo账户 结束
zca-js,社区客户端,账户通过扫描一个QR代码链接
用电话。 这个单一的事实决定了整个垂直:
- 没有符号可以粘贴——登机是一种活的多步QR流;
- 证书是会话(
imei+ cookie 罐子 + 用户代理),必须是 储存、更新和撤销,而不是静态秘密; - 进入是推出WebSocket 没有相机和光标,所以一个信息 如果进程丢弃, 服务器被推走;
- 账户所能做的, 一个人可以做的,这是 最高信任频道在目录.
版式
| 路径 | 什麽 |
|---|---|
src/zca-client.ts | 这个 zca-js 边框; SDK 懒散地加载, 因此元数据可以在没有它的套接字树的情况下被读取 |
src/zalo-js.ts | 端口客户端关闭:QR 登录、会话权限、听众、发送、目录 |
src/session-state.ts | 证书记录及其存储密钥 |
src/fusion/session-store.ts | 这个 ZalouserSessionStore 端口+该 HostRuntime 密钥存储执行 |
src/fusion/qr-setup.ts | 五个QR动词"Hub"驱动器:启动,民意调查,取消,再链接,登录 |
src/fusion/listener-session.ts | L2会话:在留言被放开前承认 |
src/fusion/admission.ts | 永久进入 Hub 入侵队列 |
src/fusion/inbound-adapter.ts | 本地信息 – 共享 ChannelInboundEvent (单位:千美元)kind + 键 facts(中文(简体) ) |
src/text-styles*.ts | 记分- Zalo 风格- 范围编译器( Zalo 没有记分; 它需要样式范围) |
src/lifecycle/start-account.ts | L4: 安装会话存储, 探测, 注册输入, 运行收听器 |
src/tool.ts, (中文(简体) ), src/fusion/tools.ts | 这个 zalouser 代理工具及其中心登记员 |
偏离、遗漏及其原因
upstream-sync.json - 这儿不是传教区 以 :
node scripts/channel-upstream-sync.mjs check --pkg zalouser
何谓有效
- QR 登录 开始 QR PNG(数据 URL + 私人临时文件) 民意调查 – 民意调查 – 链接, 与再链接( 强制执行新的 QR, 丢弃存储会话) , 取消 和登录。 报告为过期和下降,而不是吞咽.
- 持续会期 - QR证书到注入会话的商店,
在下一个账户启动时恢复,刷新为
zca-js旋转 饼干,在登录时留下一个持久的吊销标记,这样就难懂了 不能使他们复活. - 入境 ——直接和分组消息,发件人标签,组名,引文
(所引用的身体和主人旅行作为事实),明确而隐含地提到,
和领先者
/verb作为command活动。 每条消息都是经久不衰的 在收听者前进前,请先到 Hub 队列. - 出境 - 带有Zalo本土风格的文本 范围从马克下调, 2000- 字符块, 样式按块切开, 本地文件上传 (音频成为语音信息),链接,以及打字/交付/见原始.
- 信件工具 一个动作,
react结束msgId+ 键cliMsgId。 。 。 . - 代理工具 —— 说
zalouser与上游的7个行动send, (中文(简体) ),image, (中文(简体) ),link, (中文(简体) ),friends, (中文(简体) ),groups, (中文(简体) ),me, (中文(简体) ),status) (中文(简体) ). - 目录 ——朋友和团体按姓名或身份查询,团体成员.
不予支持
- 丝线. Zalo个人没有;上游针头
replyToMode: "off"。 。 。 . 外出回复是谈话中一个简单的信息. - 入网媒体下载. 附件作为信件内容到达
上游监视器将它们变成代理附属物 由Hub拥有而不是
携带
upstream-sync.json省略:monitor.ts) (中文(简体) ). - 打字/送出/见出. 连接客户端( W)
send.ts)但没有驱动 ——Hub的流媒体制作人尚不知道这个频道. - 平按:"素问"作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作平作. 平台没有他们的API.
- 管理部/组访问策略,对齐,允许列表名称解析. 枢纽拥有 (目标分类账23)。 团体范围帮助人被携带,政策没有.
现场测试
生活E2E需要一个 有电话的人: QR 代码必须被 Zalo 扫描 在测试中, 没有办法绕过。 一个人的计划,不是 证书.
环境可变名称( 数值位于 root) .env,这个
软件包从不直接读取,并且不能执行:
| 变量 | 作用 |
|---|---|
ZALO_PERSONAL_TEST_CLISBOT_USER_ID | 正在测试的个人账户的 Zalo 用户 ID |
ZALO_PERSONAL_TEST_LONG_USER_ID | 发送标记的人司机的Zalo用户ID |
ZALOUSER_PROFILE 编号 : ZCA_PROFILE | 会话的证书配置文件存储在( 上游的自定义内存名称 ) |
ZALOUSER_TMP_DIR | QR PNG 写入时的可选更改 |
循环 :
- 启动账户; 它以“ 不链接” 快速失败, 直到会话存在 .
- 调用 QR 启动动词, 打开返回的 PNG 从签名的电话扫描
作为
ZALO_PERSONAL_TEST_CLISBOT_USER_ID。 。 。 . - 投票直到
linked; 确认报告user.userId和那个身份相符. - 从驱动程序账户( F)
ZALO_PERSONAL_TEST_LONG_USER_ID),DM 链接 账户为标记. - 把经纪人的回复读回来 在同一个谈话中 与 返回消息 id —— 不读回的发件不是经过验证的发件.
有两个活的风险值得说明 在任何人运行之前:
- 个人账户客户不是受制裁的API. 使用测试账户.
- 存储的会话是该账户的完整证书. 这一定是 由会话商店的后置内容加密(HUB-WIRING.md §6).
测试
npx vitest run packages/channels/zalouser/src/<file>.test.ts --maxWorkers=1 --no-file-parallelism
港口的上游测试保留他们的名字;聚变自主测试坐在接缝旁边
它们涵盖(src/fusion/*.test.ts) (中文(简体) ).