From 6d37514c340c526b9c828e2d534b155ad91b233f Mon Sep 17 00:00:00 2001 From: SolenmeChiara Date: Fri, 31 Oct 2025 22:42:17 -0400 Subject: [PATCH] =?UTF-8?q?fix(bot):=20=E4=BF=AE=E5=A4=8Dadapter=5Frespons?= =?UTF-8?q?e=E8=A2=ABecho=E6=A3=80=E6=9F=A5=E6=8B=A6=E6=88=AA=E7=9A=84?= =?UTF-8?q?=E4=B8=A5=E9=87=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: - Napcat发送adapter_response时同时设置了echo=True - 原逻辑先检查echo,导致adapter_response消息被提前return - Maizone获取Cookie等功能完全失效(超时40秒) 修复: - 将adapter_response检查移到echo检查之前 - 确保adapter_response消息优先处理 - 移除重复的adapter_response检查逻辑 影响: - Maizone插件现在可以正确获取QQ空间Cookie - 所有adapter命令响应都能正常工作 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/chat/message_receive/bot.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/chat/message_receive/bot.py b/src/chat/message_receive/bot.py index d2966d92a..b5aa54269 100644 --- a/src/chat/message_receive/bot.py +++ b/src/chat/message_receive/bot.py @@ -363,6 +363,14 @@ class ChatBot: # print(message_data) # logger.debug(str(message_data)) + # 优先处理adapter_response消息(在echo检查之前!) + message_segment = message_data.get("message_segment") + if message_segment and isinstance(message_segment, dict): + if message_segment.get("type") == "adapter_response": + logger.info(f"[DEBUG bot.py message_process] 检测到adapter_response,立即处理") + await self._handle_adapter_response_from_dict(message_segment.get("data")) + return + # 先提取基础信息检查是否是自身消息上报 from maim_message import BaseMessageInfo temp_message_info = BaseMessageInfo.from_dict(message_data.get("message_info", {})) @@ -373,14 +381,7 @@ class ChatBot: await MessageStorage.update_message(message_data) return - # 优先处理adapter_response消息(在创建DatabaseMessages之前) message_segment = message_data.get("message_segment") - if message_segment and isinstance(message_segment, dict): - if message_segment.get("type") == "adapter_response": - logger.info(f"[DEBUG bot.py message_process] 检测到adapter_response,立即处理") - await self._handle_adapter_response_from_dict(message_segment.get("data")) - return - group_info = temp_message_info.group_info user_info = temp_message_info.user_info