Commit Graph

7 Commits

Author SHA1 Message Date
jxxghp
91b70ee2ce fix(wechatclawbot): 识别 item_list 媒体入站消息并修正 CDN 探测判定 (#7000)
* fix(wechatclawbot): 识别 item_list 媒体入站消息并修正 CDN 探测判定 (#6992)

iLink 下行媒体报文把附件放在 item_list 子项中,原解析存在三处缺口,
图片/语音/文件入站消息会被判为空消息丢弃:

- item_list 仅按数字 type 处理 1 文本/2 图片/5、6 文件,缺少 3 语音/
  4 文件/5 视频分派;改为按实际出现的子项键名分派,同时兼容历史
  type=5/6 文件报文。
- 附件引用只读取顶层 url/aeskey,识别不了 image_item.media.full_url /
  media.aes_key 等嵌套字段;统一按“顶层优先、media 子对象兜底”提取。
- 消息被解析为空时直接返回 None,日志只剩“未识别到有效消息”;补充
  渠道级诊断日志,输出 message_id 与截断后的原始报文。

另外把“微信 ClawBot 媒体 CDN”网络探测的 400 纳入成功状态码:该 CDN
对无参数裸请求固定返回 400,此前探测项恒定误报失败。

tests/test_wechatclawbot.py 整文件迁移为 pytest 原生,并新增 item_list
媒体解析、仅图片消息可入链、空消息诊断日志回归;nettest 契约测试补充
CDN 400 探测用例。复杂度与 mypy 低水位随债务下降同步固化。

* fix(wechatclawbot): 同步架构清单中的 mypy 债务数字 (#6992)
2026-10-15 09:02:59 +08:00
LIN student
36e68b133c fix(nettest): TMDB 网站连通性测试使用程序自身 UA
网速连通性测试对所有目标统一发送浏览器 UA(NORMAL_USER_AGENT)。
www.themoviedb.org 对自称 Chrome、但 TLS 握手特征来自 Python 客户端的
请求返回 403 人机校验页(Just a moment...),因此网络正常时该项也固定
显示「错误码:403」。同一请求换成程序自身 UA(USER_AGENT)即返回 200;
TMDB API 两个目标不受影响。

tmdb_web 规则改为携带 USER_AGENT 请求头;未配置时沿用原有浏览器 UA。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 16:52:41 +08:00
jxxghp
9d37ee4687 fix(nettest): authenticate network proxy GitHub probe 2026-09-28 16:53:28 +08:00
jxxghp
cf13f2e114 fix: align AniList and TheAudioDB network probes 2026-09-27 15:57:10 +08:00
jxxghp
f0cfaa8e3a fix: correct IMDb and TheAudioDB network probes 2026-09-27 13:48:36 +08:00
jxxghp
2807bcf2af fix(nettest): map service-specific icons 2026-09-24 14:19:55 +08:00
jxxghp
027b4fe75f fix(system): preserve network probe service contracts 2026-09-24 12:41:17 +08:00