OneBot v11 protocol workflow for DeerlingBot. Use when implementing or fixing OneBot/OneBot11/CQHTTP compatible WebSocket API calls, event parsing, message segments, group notices, private messages, send_group_msg, send_private_msg, or mapping protocol docs to this Java plugin.
./onebot-11-ref 实现或修复 OneBot v11 协议逻辑send_group_msg、send_private_msg、set_group_cardtext、at、reply、image/api、/event、/ 三种入口protocols/GroupOperation.java 或 protocols/PrivateOperation.javamanagers/CoreConnector.java 与 protocols/events/**protocols/segments/**优先确认以下内容:
params 的必填字段、默认值、字段类型是否一致post_type、二级类型字段和子类型字段分别是什么如果文档没有要求扩展行为,就不要自行引入协议外字段。
当前仓库的 OneBot v11 处理模式如下:
managers/CoreConnector.java
post_type 分发call()protocols/events/**
AbstractPost 是所有上报事件的基类message/*、notice/* 按 OneBot 事件类型拆分类protocols/segments/**
MessageSegment 子类MessageSegment.parse(...) 负责把数组消息段解析成具体对象protocols/GroupOperation.java 与 protocols/PrivateOperation.java
{"action": ..., "params": ...} 的出站 JSONCoreConnector.send(...)fastjson2 的 JSONObject 和 JSONArrayXLogger,不要使用 System.outScheduler./onebot-11-ref 一致CoreConnector 的分发条件覆盖到了新的 post_type 或二级类型parse 方法完整读取了必需字段parse(),也考虑入站 MessageSegment.parse(...)MessageSegment... 组包方式post_type、二级类型、子类型CoreConnector 中加入分发protocols/events/... 中增加 parse(JSONObject) 和字段访问器null,新增后要检查上层调用是否能正确处理非空对象根据当前仓库实现,以下点在做协议工作时需要特别注意:
CoreConnector 当前主要分发 message、部分 notice 和部分 meta_eventMessageSegment.parse(...) 目前只明确支持 at、text、reply,image 接收解析尚未完成GroupOperation / PrivateOperation 当前主要关注发包,不处理统一响应模型做扩展时应优先补齐这些真实缺口,而不是只改文档表面。