个人微信机器人:图片文件为什么不能走文字接口
要把说明书发到好友会话,有人把本地路径写进 content。postText 投递的是字符串。对端看到的是路径,不是可下载文件。个人微信机器人会发字,不等于会发图。混在一个发送函数里,排障会同时改 appId 和文件名,两层故障缠在一起。
本机能 open() 的文件,对端下载不到。通道不读你的磁盘。
postText 只保证字
content 可以写「文件稍后发」。它不能把附件变成气泡。图片、文件要走文档里对应的发送接口,通常还要先有通道能引用的素材。素材没有就调发送,失败会被记成文字接口不稳定。文字接口可能一直是通的。
入队时就要定类型。不要到 HTTP 前把图片任务降级成文本路径。降级若未改文案,客户会以为图已到达。真要降级,只能换成已审短句,说明文件失败、坐席补发。把 /data/a.pdf 打进聊天,是泄露路径,不是降级。
文字探针用文档字段,证明号和会话还活着:
def enqueue(kind, app_id, to_wxid, payload):
if kind == "text":
return {
"appId": app_id,
"toWxid": to_wxid,
"content": payload["text"],
}
if kind in ("image", "file"):
raise NotImplementedError("附件走文档对应接口,禁止写入 content")
raise ValueError(kind)
联调期让它抛出来。生产换成拒绝码:素材未就绪、类型不支持。拒绝进任务表,才能和掉线、超时切开。ats 是群提及用的,私聊附件不要带着它。
先通文字,再通一种附件
文字不过,不要测图片。第二期只加图片或只加文件。两种一起上,失败会说附件全挂,其实可能是 toWxid 把群写成了好友。群附件的对象仍应是 @chatroom 那一类 ID。
同一会话连续字、图、文件要过频率。附件失败禁止用 postText 重试原路径。验收:测试句原文可见;路径写入 content 后对端没有可打开文件;按文档走附件后气泡可打开且内容一致。个人微信自动化能力清单里,文字探针和附件是两行,不要勾成一行。
查看个人微信 API 文档:
https://doc.geweapi.com/
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)