兼容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:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user