From 9fedd6f61b64e9d2fa969f041972c90eae61a2a7 Mon Sep 17 00:00:00 2001 From: liuwei Date: Wed, 29 Apr 2026 11:04:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=BC=E5=AE=B9MaiBot=E6=A1=A5=E6=8E=A5?= =?UTF-8?q?=E5=B1=82=E4=BB=8Esender=5Finfo=E5=8F=96=E7=BE=A4=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E7=9A=84=E8=A7=A3=E6=9E=90=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 变更项:\n1. outbound message_info 增加 sender_info 双写结构,明确携带 sender_info.user_info 与 sender_info.group_info。\n2. 继续保留顶层 user_info/group_info,形成新旧兼容消息结构,降低版本差异带来的路由误判风险。\n3. 群聊场景下 sender_info.group_info 显式注入 group_id/group_name,修复 API Server 侧按私聊归类的问题。\n4. 增补详细中文注释,说明本次兼容修复基于 MaiBot 当前 bridge(from_api_receive) 的解析特性。 --- plugins/maibot_adapter/main.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/plugins/maibot_adapter/main.py b/plugins/maibot_adapter/main.py index 8ff2e18..f847aa9 100644 --- a/plugins/maibot_adapter/main.py +++ b/plugins/maibot_adapter/main.py @@ -531,10 +531,10 @@ class MaiBotAdapterPlugin(MessagePluginInterface): f"sender={sender}, message_id={message_id}" ) - # 按 MaiBot 官方 BaseMessageInfo 结构组装: - # 1. user_info:消息“发送者”的用户信息(群聊/私聊都必须存在); - # 2. group_info:仅群聊存在,私聊应为 None/缺省; - # 3. 不再发送 sender_info/receiver_info 这套旧字段,避免服务端按私聊路径兜底解析。 + # 按 MaiBot 当前桥接实现做“新旧兼容双写”: + # 1. 顶层 user_info/group_info:兼容新结构消费者; + # 2. sender_info.user_info/group_info:兼容当前 API Server 内部 from_api_receive 逻辑; + # 3. 通过 sender_info.group_info 显式传群维度,避免被判成私聊。 user_info: Dict[str, Any] = { "platform": self._platform_name, "user_id": sender, @@ -547,6 +547,10 @@ class MaiBotAdapterPlugin(MessagePluginInterface): "group_id": roomid, "group_name": group_name, } + sender_info: Dict[str, Any] = { + "user_info": user_info, + "group_info": group_info, + } api_message = { "message_info": { @@ -568,6 +572,7 @@ class MaiBotAdapterPlugin(MessagePluginInterface): }, "user_info": user_info, "group_info": group_info, + "sender_info": sender_info, }, "message_segment": { "type": "text",