fix:添加默认值

This commit is contained in:
SengokuCola
2025-08-12 16:36:43 +08:00
parent ca69e9af15
commit 1efea7304e
2 changed files with 14 additions and 8 deletions

View File

@@ -26,7 +26,7 @@ from src.chat.express.expression_selector import expression_selector
from src.chat.memory_system.memory_activator import MemoryActivator from src.chat.memory_system.memory_activator import MemoryActivator
from src.chat.memory_system.instant_memory import InstantMemory from src.chat.memory_system.instant_memory import InstantMemory
from src.mood.mood_manager import mood_manager from src.mood.mood_manager import mood_manager
from src.person_info.person_info import Person, get_person_id_by_person_name from src.person_info.person_info import Person, get_person_id_by_person_name,is_person_known
from src.plugin_system.base.component_types import ActionInfo, EventType from src.plugin_system.base.component_types import ActionInfo, EventType
from src.plugin_system.apis import llm_api from src.plugin_system.apis import llm_api
@@ -301,9 +301,8 @@ class DefaultReplyer:
return "" return ""
# 获取用户ID # 获取用户ID
person_id = get_person_id_by_person_name(sender) person = Person(person_name = sender)
person = Person(person_id=person_id) if not is_person_known(person_name=sender):
if not person_id:
logger.warning(f"未找到用户 {sender} 的ID跳过信息提取") logger.warning(f"未找到用户 {sender} 的ID跳过信息提取")
return f"你完全不认识{sender}不理解ta的相关信息。" return f"你完全不认识{sender}不理解ta的相关信息。"

View File

@@ -128,6 +128,8 @@ class Person:
self.person_name = global_config.bot.nickname self.person_name = global_config.bot.nickname
return return
self.user_id = ""
self.platform = ""
if person_id: if person_id:
self.person_id = person_id self.person_id = person_id
@@ -138,6 +140,8 @@ class Person:
return return
elif platform and user_id: elif platform and user_id:
self.person_id = get_person_id(platform, user_id) self.person_id = get_person_id(platform, user_id)
self.user_id = user_id
self.platform = platform
else: else:
logger.error("Person 初始化失败,缺少必要参数") logger.error("Person 初始化失败,缺少必要参数")
return return
@@ -148,8 +152,6 @@ class Person:
return return
self.is_known = False self.is_known = False
self.platform = platform
self.user_id = user_id
# 初始化默认值 # 初始化默认值
self.nickname = "" self.nickname = ""
@@ -189,6 +191,8 @@ class Person:
record = PersonInfo.get_or_none(PersonInfo.person_id == self.person_id) record = PersonInfo.get_or_none(PersonInfo.person_id == self.person_id)
if record: if record:
self.user_id = record.user_id if record.user_id else ""
self.platform = record.platform if record.platform else ""
self.is_known = record.is_known if record.is_known else False self.is_known = record.is_known if record.is_known else False
self.nickname = record.nickname if record.nickname else "" self.nickname = record.nickname if record.nickname else ""
self.person_name = record.person_name if record.person_name else self.nickname self.person_name = record.person_name if record.person_name else self.nickname
@@ -300,6 +304,9 @@ class Person:
logger.error(f"同步用户 {self.person_id} 信息到数据库时出错: {e}") logger.error(f"同步用户 {self.person_id} 信息到数据库时出错: {e}")
def build_relationship(self,points_num=3): def build_relationship(self,points_num=3):
print(self.person_name,self.nickname,self.platform,self.is_known)
if not self.is_known: if not self.is_known:
return "" return ""
@@ -327,8 +334,8 @@ class Person:
points_text = "\n".join([f"{point[2]}{point[0]}" for point in points]) points_text = "\n".join([f"{point[2]}{point[0]}" for point in points])
nickname_str = "" nickname_str = ""
if self.person_name != nickname_str: if self.person_name != self.nickname:
nickname_str = f"(ta在{self.platform}上的昵称是{nickname_str})" nickname_str = f"(ta在{self.platform}上的昵称是{self.nickname})"
relation_info = "" relation_info = ""