@clisbot/channels-zalo

中文文档
2.2.3发布于 2026/11/05TypeScriptES Module近 30 天下载 3747

In-repo Zalo官方账户(Bot API)频道垂直(目标分类账切片16). 从扩展名/zalo/src@5d8067a4483上接: Bot API客户端,令牌/账户解析度,探测器,发送路径,消息工具动作和webhook请求处理器

中文使用文档
文档目录7 节
  1. 现场测试需要什么
  2. Zalo 设置
  3. 试验表面
  4. 最小账户配置
  5. 今天获得支持
  6. 不予支持
  7. 版式

@clisbot/频道-zalo

在repo Zalo官方账户(Bot API)频道垂直(目标分类账切片) 16) 从 extensions/zalo/src@5d8067a4483 看到了吗 upstream-sync.json 页:1 逐文件映射、偏差(D-ZL-0xx)和省略的内容.

Zalo船没有SDK:上游手卷其Bot API客户端 fetch 财务报告和审定财务报表 只取决于 zod (单位:千美元)4.4.3,上游版本),这就是这个软件包 也一样. undici 仅用于代理代理代理,在动态导入中 discord 垂直使用相同的形状.

这是 官方账户机器人 频道 (bot-api.zaloplatforms.com) (中文(简体) ). 扎罗 个人(zalouser,QR-login个人账户)是一个不同的上游账户 扩展和不同的切片(17).

枢纽接线器在后续片中落地. HUB-WIRING.MD (英语) 这是 交接文件是用Hub方面拥有的东西制作的,并保留着记录; ../../../docs/features/channels/README.md 描述平台为已建.

现场测试需要什么

自己提供这些,放回原地 .env。这个软件包永远不会 读取 .env 而这里没有价值是真正的证明——只有名字。 这个 ZALO_PERSONAL_TEST_* 已经输入的 ids .env 属于切片17,不是这个 频道.

Zalo 设置

  1. 创建(或使用)a 扎洛官方账户 时间 哦,扎罗,我。 。 。 .
  2. 单位 Zalo 瓶创建者 (单位:千美元)bot.zaloplatforms.com为OA和 复制它的标志。 这个标志是整个证书——没有应用代码,没有 OAuth和没有签名密钥.
  3. 跟着Zalo个人账户里的机器人 把它加进去 测试组,如果您想要分组案例.
  4. 投票模式不需要别的 Webhook 模式还需要一个公众 HTTPS 端点和您选择的秘密( 8–256 个字符) .

试验表面

新闻 var一定是这样
ZALO_BOT_TOKEN测试对象是Zalo Bot创造者 永远不要承诺.
ZALO_TEST_CHAT_ID机器人和人类测试者之间的DM聊天id(a) message.*.received 事件显示它.
ZALO_TEST_GROUP_ID增加了一个组,用于该组+提及案例.
ZALO_TEST_BOT_ID机器人的自有身份证明getMe → result.id),用于自带信息过滤.
ZALO_TEST_BOT_NAME那个机器人 account_name,这是一个群体提到的匹配.
ZALO_TEST_IMAGE_URL用于输出的公开 HTTPS 图像 URL sendPhoto 案例.
ZALO_WEBHOOK_URL仅Webhook模式:公开的HTTPS URL Zalo发布到.
ZALO_WEBHOOK_SECRET只使用 Webhook 模式: 8–256- Char 符号在 x-bot-api-secret-token。 。 。 .
ZALO_API_URL可选的 覆盖 API 基础(https://bot-api.zaloplatforms.com)用于假服务器.

驱动程序/ bot- under - test 拆分是规则 (CLAUDE.md,"需要的Slack和Telegram E2E角色"):一个直接的 sendText 是一个 仅限外出抽烟测试. 所需要的证据是 外部发送方 运输方 代理翻转 ~ 在同一聊天中回复,然后读取匹配消息 id的回转 发送返回。 在Zalo上,外部发送者是一个 人类扎洛账户 给机器人发信息:机器人API 无法让一个机器人驱动另一个机器人,它 也没有回读终点( 无) getMessages,没有历史,所以读回 证据的一方是人类自己的客户 加上 message_id 发送 已经返回.

现场投票E2E今天可以投票 与 ZALO_BOT_TOKEN 一个人 韦伯克 E2E 在公共端点被屏蔽;见 HUB-WIRING.md 第6节。 。 。 .

最小账户配置

channel: zalo
accountId: main
connectionId: <hub connection id>
# webhookUrl absent → long polling, which is the mode a dev host can run.
mediaMaxMb: 5
botNames: ["<ZALO_TEST_BOT_NAME>"] # group mention aliases
routes:
  - match: { kind: dm }
    agent: <agent>
    environment: <environment>
  - match: { kind: channel, ids: ["<ZALO_TEST_GROUP_ID>"] }
    agent: <agent>
    environment: <environment>

机器人的标志 住在Hub连接的证书下 botToken中,没有 这个文件.

今天获得支持

入境 投票时间长(getUpdates)或HTTP webhook,两者都承认 在运输前:

  • message.text.received − a 个 message 转身,或 command 当身体转动时 是一个领先 /verb。 。 。 .
  • message.image.received − a 个 message 转过身来 照片下载到账户的媒体目录并折叠为 [Attached files]。失败或过大下载保留上游 [zalo image attachment unavailable] 通知,所以代理仍然学习 图像已发送 .
  • 直接聊天和组. 一个DM总是 wasMentioned; 组消息是 提到它命名机器人时(D-ZL-012).
  • 机器人自己的信件和由机器人撰写的信件被过滤,除非 allowBots。 。 。 .

Webhook 请求以恒定时间认证 x-bot-api-secret-token 比较 在此之前 身体被读取 在上游的后面 速率限制 / 方法 / 内容类型 守护器, 200 则只写于 事件被持久地承认——一个失败的承认答案500,所以Zalo repelivers, a 错误的信封回答400 所以它不会.

投票没有抵消,也没有退缩(瓶子API最多返回一次) 更新并且永远不再保留它,所以循环在它发布之前就持久地承认了 下次拨打时,请重试一个失败的录入位置,然后以一个 只有在预算用完后(D-ZL-015)才会出错级行.

出境:带有上游2000-Char块和UTF-16-安全截取的文本; hTTPS URL 的图像 sendPhoto (以文本为标题),后面 sSRF的主保镖.

信件工具动作数字 : send ——整个扎洛消息API.

不予支持

命名于此, 上面没有比它更多的内容 。 其中大部分是 平台限制,而不是端口缺口.

  • 文件上传 ——Bot API没有上传端点. sendMedia 员额a 明显通知和报告 mediaPosted: false (D-ZL-016) (中文(简体) ). 上游的风景 工作周期(outbound-media.ts,将文件托管在账户本身的 webhook上 来源)需要HTTPS的公用端点,而省略.
  • 编辑、删除、反应、针头、民调、按钮、原生命令、线程 —— 说 没有终点. supportsAction 拒绝他们 所以Hub回答 unsupported_action 而不是运输错误.
  • 回读/ 历史 没有终点。 送货由退回者确认 message_id 只有这个.
  • 标签和不支持的信件类型 上游记录这些记录和 开始不转; 此端口保持了这一行为, 而不是创建一个机构 .
  • 打字指标 —— 说 sendChatAction 是在客户端并输出,但 没有什么能推动它:上游驱动它 从省略的答复管道 Hub的进步表面还没有Zalo运输.
  • 对等、许可列表、 dm/组政策执行 ——枢纽拥有接入权 (目标分类账23)。 账户的 dmPolicy 编号 : allowFrom 编号 : groupPolicy (b) 上游 group-access.ts 解析器被移植到枢纽处使用.
  • 设置/ 医生表面, 批准权限, 会话路径 ——"开放法" 巫师, doctor 树木、核准-自动能力和出站会话路线 建设者省略;枢纽自有上岗,审批和出行.

版式

src/
  api.ts timeouts.ts               ← upstream Bot API client + its deadlines
  token.ts accounts.ts types.ts    ← upstream token/account resolution
  probe.ts proxy.ts group-access.ts ← upstream probe, proxy cache, group policy
  send.ts actions.ts actions.runtime.ts ← upstream send path + message-tool adapter
  webhook-spool.ts monitor.webhook.ts   ← upstream envelope schemas + request handler
  runtime-api.ts runtime.ts             ← upstream host binding + runtime slot
  channel-actions.ts outbound.ts        ← Fusion: Hub drive surface
  lifecycle/start-account.ts            ← Fusion: L4 account lifecycle
  fusion/                               ← Fusion: every boundary, one per D-ZL-0xx
    account-config.ts   Hub account carrier → upstream account resolution
    admission.ts        durable admission before the ack / the next poll
    inbound-adapter.ts  update → ChannelInboundEvent (kind + facts)
    polling-session.ts  the getUpdates loop
    webhook-session.ts  the owned node:http listener
    ssrf.ts             the media-URL host guard
    proxy-fetch.ts      the proxy-agent fetch
    secret-file.ts      the credential-file reader

版本与发布记录

@clisbot/channels-zalo 共发布 18 个版本,首次发布于 2026/10/10;过去 12 个月发布了 18 个版本。

版本发布日期距今
2.2.3latest2026/11/055 天前
2.2.22026/11/037 天前
2.2.12026/11/019 天前
2.2.02026/10/2714 天前
2.1.82026/10/2218 天前
2.1.72026/10/2219 天前

关于 @clisbot/channels-zalo 的常见问题

@clisbot/channels-zalo 是什么?

In-repo Zalo官方账户(Bot API)频道垂直(目标分类账切片16). 从扩展名/zalo/src@5d8067a4483上接: Bot API客户端,令牌/账户解析度,探测器,发送路径,消息工具动作和webhook请求处理器

如何安装 @clisbot/channels-zalo?

在项目目录运行 npm install @clisbot/channels-zalo,或使用 pnpm add / yarn add / bun add。

@clisbot/channels-zalo 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@clisbot/channels-zalo 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@clisbot/channels-zalo 可以商用吗?

@clisbot/channels-zalo 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@clisbot/channels-zalo 的下载量有多少?

根据 npm 官方下载统计,@clisbot/channels-zalo 在 2026/10/10 – 2026/11/08 这 30 天内被下载 3,747 次,日均约 125 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@clisbot/channels-zalo 还在维护吗?

最新版本 2.2.3 发布于 2026/11/05(5 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/10/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。