兼容MaiBot桥接层从sender_info取群信息的解析逻辑

变更项:\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) 的解析特性。
This commit is contained in:
liuwei
2026-04-29 11:04:52 +08:00
parent 736ac05d98
commit 9fedd6f61b

View File

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