Skip to content

feat(onebot): 同步群信息与文件发送增强 - #2

Open
serfend wants to merge 3 commits into
ElainaCore:mainfrom
serfend:codex/sync-onebot-updates-20260813
Open

feat(onebot): 同步群信息与文件发送增强#2
serfend wants to merge 3 commits into
ElainaCore:mainfrom
serfend:codex/sync-onebot-updates-20260813

Conversation

@serfend

@serfend serfend commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

变更原因

同步 ElainaBot_v2 主仓库中的 OneBot 适配器更新,补齐实时群信息查询和群名上报能力,并修复文件发送后丢失原始文件名的问题。

具体变更

  • 新增 get_group_info 动作,支持群号映射和 OpenID,返回实时群名称、成员数及成员上限。
  • 群消息事件新增 group_name;优先读取本地群记录,缺失时刷新平台资料,并通过缓存和并发锁限制查询频率。
  • 文件消息发送时向媒体上传链路透传 file_name,保留原始名称和扩展名。
  • 更新 OneBot README 中的动作说明。

验证

  • ElainaBot_v2 主仓库全量测试:428 passed
  • 发布副本相关 Python 文件 AST 语法检查通过
  • 与主仓库对应实现逐文件内容对比通过
  • PR 涉及的 7 个文本文件均通过严格 UTF-8 解码、乱码扫描及归一化内容对比

原因:发布版 OneBot 适配器只有缓存群列表,缺少标准 get_group_info 动作,调用方无法按群获取实时名称、成员数和容量信息。

新增:注册 get_group_info 动作,支持 QQ 群号映射和 OpenID 直传;调用平台群资料接口并转换为 OneBot 标准响应。

修复:对无效群号、异常计数字段和平台错误做校验与错误码透传,并补充 README 动作说明。
原因:发布版 OneBot 群消息事件只有 group_id,消费端需要额外查询才能展示群名,逐条实时查询又会增加平台请求。

新增:群事件附带 group_name;优先读取已保存群记录,缺失时刷新群资料,并按应用与群维度缓存结果。

更改:成功结果缓存 5 分钟,空结果缓存 1 小时;并发刷新通过锁合并,查询失败不影响事件上报。
原因:发布版文件消息段虽然已经解析 name 或 file_name,但媒体发送服务没有向上传链路继续传递,附件会丢失调用方指定的名称和扩展名。

修复:将 ParsedMessage.file_name 传入统一媒体发送接口,使普通上传、URL 上传和分片上传沿用原始文件名;同时移除该文件中的重复类型导入。
@serfend serfend changed the title feat(onebot): ???????????? feat(onebot): 同步群信息与文件发送增强 Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant