From 527f2973979faa83f1df4b75cc0cced46ac15f62 Mon Sep 17 00:00:00 2001 From: SengokuCola <1026294844@qq.com> Date: Tue, 12 Aug 2025 16:46:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=B8=8D=E8=AE=A4=E8=AF=86=E7=9A=84?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9E=84=E5=BB=BA=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/person_info/person_info.py | 4 +++- src/person_info/relationship_manager.py | 11 +++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/person_info/person_info.py b/src/person_info/person_info.py index a55a9ef19..639beaab8 100644 --- a/src/person_info/person_info.py +++ b/src/person_info/person_info.py @@ -144,7 +144,7 @@ class Person: self.platform = platform else: logger.error("Person 初始化失败,缺少必要参数") - return + raise ValueError("Person 初始化失败,缺少必要参数") if not is_person_known(person_id=self.person_id): self.is_known = False @@ -257,6 +257,8 @@ class Person: def sync_to_database(self): """将所有属性同步回数据库""" + if not self.is_known: + return try: # 准备数据 data = { diff --git a/src/person_info/relationship_manager.py b/src/person_info/relationship_manager.py index b3c327a30..9f95ba85c 100644 --- a/src/person_info/relationship_manager.py +++ b/src/person_info/relationship_manager.py @@ -1,5 +1,5 @@ from src.common.logger import get_logger -from .person_info import Person +from .person_info import Person,is_person_known import random from src.llm_models.utils_model import LLMRequest from src.config.config import global_config, model_config @@ -357,7 +357,14 @@ class RelationshipManager: for msg in user_messages: if msg.get("user_id") == "system": continue - msg_person = Person(user_id=msg.get("user_id"), platform=msg.get("chat_info_platform")) + try: + if not is_person_known(user_id=msg.get("user_id"), platform=msg.get("chat_info_platform")): + continue + msg_person = Person(user_id=msg.get("user_id"), platform=msg.get("chat_info_platform")) + except Exception as e: + logger.error(f"初始化Person失败: {msg}") + traceback.print_exc() + continue # 跳过机器人自己 if msg_person.user_id == global_config.bot.qq_account: name_mapping[f"{global_config.bot.nickname}"] = f"{global_config.bot.nickname}"