调整MaiBot路由判定为roomid非空即群聊

变更项:\n1. 修改 _resolve_chat_route 首段规则:只要 plugin message 的 roomid 非空,即直接判定为群聊。\n2. 去除对 roomid 必须以 @chatroom 结尾的强依赖,修复你当前场景下群消息被误判为私聊的问题。\n3. 保留原有后续兜底链路与诊断日志,便于后续继续观察上游字段质量。
This commit is contained in:
liuwei
2026-04-29 10:40:09 +08:00
parent e9a31337bf
commit 3ac728e697

View File

@@ -596,9 +596,11 @@ class MaiBotAdapterPlugin(MessagePluginInterface):
full_msg = message.get("full_wx_msg")
# 先看插件消息里已经带好的 roomid这是最直接、最便宜的一跳。
# 按你现在的业务约定:只要 roomid 非空,就视为群聊。
# 这样可以避免某些平台包体里 roomid 不是 @chatroom 结尾时被误判成私聊。
plugin_roomid = str(message.get("roomid", "") or "").strip()
if plugin_roomid.endswith("@chatroom"):
return {"is_group": True, "route_type": "group", "roomid": plugin_roomid, "route_source": "plugin_roomid"}
if plugin_roomid:
return {"is_group": True, "route_type": "group", "roomid": plugin_roomid, "route_source": "plugin_roomid_non_empty"}
# 再看 WxMessage 里计算过的 roomid。
wx_roomid = ""