fix:不认识的用户构建关系

This commit is contained in:
SengokuCola
2025-08-12 16:46:29 +08:00
parent 1efea7304e
commit 527f297397
2 changed files with 12 additions and 3 deletions

View File

@@ -144,7 +144,7 @@ class Person:
self.platform = platform self.platform = platform
else: else:
logger.error("Person 初始化失败,缺少必要参数") logger.error("Person 初始化失败,缺少必要参数")
return raise ValueError("Person 初始化失败,缺少必要参数")
if not is_person_known(person_id=self.person_id): if not is_person_known(person_id=self.person_id):
self.is_known = False self.is_known = False
@@ -257,6 +257,8 @@ class Person:
def sync_to_database(self): def sync_to_database(self):
"""将所有属性同步回数据库""" """将所有属性同步回数据库"""
if not self.is_known:
return
try: try:
# 准备数据 # 准备数据
data = { data = {

View File

@@ -1,5 +1,5 @@
from src.common.logger import get_logger from src.common.logger import get_logger
from .person_info import Person from .person_info import Person,is_person_known
import random import random
from src.llm_models.utils_model import LLMRequest from src.llm_models.utils_model import LLMRequest
from src.config.config import global_config, model_config from src.config.config import global_config, model_config
@@ -357,7 +357,14 @@ class RelationshipManager:
for msg in user_messages: for msg in user_messages:
if msg.get("user_id") == "system": if msg.get("user_id") == "system":
continue 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: if msg_person.user_id == global_config.bot.qq_account:
name_mapping[f"{global_config.bot.nickname}"] = f"{global_config.bot.nickname}" name_mapping[f"{global_config.bot.nickname}"] = f"{global_config.bot.nickname}"