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",