From 2c49ac0dcfc39464efc4a5a3c73563a138c07c7f Mon Sep 17 00:00:00 2001 From: lppsuixn Date: Mon, 16 Mar 2026 15:27:16 +0800 Subject: [PATCH] Refactor _extract_session_id for chat type handling (#5775) Update session ID extraction to handle group and single chat types. --- .../sources/wecom_ai_bot/wecomai_adapter.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py b/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py index 62f236b57..79fe6f8ed 100644 --- a/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py +++ b/astrbot/core/platform/sources/wecom_ai_bot/wecomai_adapter.py @@ -440,9 +440,16 @@ class WecomAIBotAdapter(Platform): ) def _extract_session_id(self, message_data: dict[str, Any]) -> str: - """从消息数据中提取会话ID""" - user_id = message_data.get("from", {}).get("userid", "default_user") - return format_session_id("wecomai", user_id) + """从消息数据中提取会话ID + 群聊使用 chatid,单聊使用 userid + """ + chattype = message_data.get("chattype", "single") + if chattype == "group": + chat_id = message_data.get("chatid", "default_group") + return format_session_id("wecomai", chat_id) + else: + user_id = message_data.get("from", {}).get("userid", "default_user") + return format_session_id("wecomai", user_id) async def _enqueue_message( self,