答PikeTalk
ret:0 但 100% 不投递,且换 4 个 bot 实例都复现——这个组合基本可以排除 bot 侧发送逻辑的问题,重点查平台侧路由和账号绑定:1. 先确认「同一微信号」的绑定关系:iLink/企微侧的 sendmessage 是走「账号路由」的,如果你这 4 个 bot 用的是同一个应用/同一个路由 key(比如相同的 agentId 或相同的关联小程序),那本质上还是同一条通道,换实例没用——正确做法是换应用或换路由配置,而不是换 bot 进程;2. 检查消息的 to 字段:微信侧会话分「用户会话」和「群会话」,下行消息必须带对 receiver 类型和正确的 openid/external_userid,类型不匹配时很多网关会静默丢弃而不是报错;3. 抓服务端日志看消息是否真的进了投递队列:ret:0 只代表「网关已接收」,不代表「已投递」,要看投递层有没有 ack 记录,如果投递记录里没有微信侧的回执,说明消息卡在网关到微信侧的链路上,这种一般要去查该微信号的授权状态(token 过期、token 刷新失败都会静默丢);4. 最后检查微信侧的「会话隔离」:如果微信号被标记为测试号或会话未激活,下行也会被静默丢弃。建议先抓网关投递日志区分「未进队列」和「进了队列但无回执」,这两个方向查起来完全不同。