fix: support QQBot direct sends and media - #15215
Conversation
d6ee8c4 to
10ddc34
Compare
|
Thanks for the QQBot media investigation. The MEDIA defect is still present on current main: Problems
Suggested changes
Automated hermes-sweeper review. |
|
I can confirm this fixes a real production incident in a Hermes QQBot setup. Observed failure mode:
This PR's explicit QQBot target parsing ( Thanks for pushing this upstream — this would remove the need for local patches after upgrades. |
SummaryFive PRs address the QQBot direct-send failure: #16937, #17971, #19230, and #19422 add C2C/group endpoint routing, while #15215 additionally adds explicit typed-target parsing, QQBOT_HOME_CHANNEL fallback, and QQBot MEDIA delivery. The merged routing implementation in #19422 addresses the reported guild-only endpoint cause; #15215 retains a distinct media-focused scope but overlaps on routing. Related pull requests
Duplicates#16937, #17971, and #19230 are substantially duplicate reports of the QQBot C2C/group endpoint-routing fix; #19230 was salvaged into #19422, which supersedes those routing changes. #15215 overlaps on core text routing but is not wholly duplicative because its QQBot MEDIA support and typed-target handling are additional scope. Suggested consolidationKeep #15215 open with a salvage path: retain its QQBot MEDIA delivery and explicit typed-target work, rebase or split it against the merged routing in #19422, preserve untyped-ID fallback, constrain Cross-PR triage: Reviewed 5 pull requests and 0 issues in this complex. Each diff was read against this issue; Assessment working set: 41 kB of PR diffs, 7 kB of issue/PR text, 4 kB of discussion (11 comments), 0 verify verdicts. verdicts reflect diff content, not PR titles. Part of an automated triage batch. |
Summary
Why
QQBot direct sends currently fall back to the home channel for alphanumeric OpenIDs and then use the guild channel endpoint. This breaks C2C targets such as qqbot: and reports a missing home channel even when the target was explicit.
QQBot was also treated as a non-media platform in send_message, so MEDIA:/path attachments were omitted while the text send still returned success. That made file delivery appear successful even though no file was sent.
Testing