Merge pull request #55 from SolenmeChiara/dev

Dev - Fix: 主程序部分核心功能修复集合
This commit is contained in:
yishan
2025-11-07 18:58:05 +08:00
committed by GitHub
13 changed files with 601 additions and 185 deletions

View File

@@ -301,6 +301,28 @@ class ChatBot:
logger.error(f"处理命令时出错: {e}")
return False, None, True # 出错时继续处理消息
async def _handle_adapter_response_from_dict(self, seg_data: dict | None):
"""处理适配器命令响应(从字典数据)"""
try:
from src.plugin_system.apis.send_api import put_adapter_response
if isinstance(seg_data, dict):
request_id = seg_data.get("request_id")
response_data = seg_data.get("response")
else:
request_id = None
response_data = None
if request_id and response_data:
logger.info(f"[DEBUG bot.py] 收到适配器响应request_id={request_id}")
put_adapter_response(request_id, response_data)
else:
logger.warning(f"适配器响应消息格式不正确: request_id={request_id}, response_data={response_data}")
except Exception as e:
logger.error(f"处理适配器响应时出错: {e}")
async def message_process(self, message_data: dict[str, Any]) -> None:
"""处理转化后的统一格式消息"""
try:
@@ -341,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", {}))
@@ -351,6 +381,7 @@ class ChatBot:
await MessageStorage.update_message(message_data)
return
message_segment = message_data.get("message_segment")
group_info = temp_message_info.group_info
user_info = temp_message_info.user_info