Commit Graph

3 Commits

Author SHA1 Message Date
dadachann 5f8a3e9114 fix(qqofficial): allocate fresh msg_seq per inbound msg_id to avoid 40054005 dedup
QQ Official v2 API deduplicates passive messages by (msg_id, msg_seq).
The adapter reused msg_seq across multiple sends under the same inbound
msg_id, so multi-part text replies, rich media, and especially streaming
chunks (msg_seq pinned at 1) were rejected with:

  40054005 消息被去重,请检查请求msgseq

Add a per-inbound-msg_id sequence allocator (next_reply_msg_seq) on
QQOfficialClient, backed by a bounded OrderedDict + asyncio lock, and use
it for C2C/group text sends and rich media. Streaming now advances
ctx['msg_seq'] per chunk. Proactive sends (no msg_id) fall back to the
existing global counter.

Closes #2290
2026-06-29 01:33:27 -04:00
wangcham a1066d502c fix(platform): align eba event declarations 2026-06-28 17:44:12 +08:00
WangCham 7e5d74a1ad feat(platform): add qqofficial eba adapter 2026-06-02 16:51:45 +08:00