mirror of https://github.com/Mai-with-u/MaiBot.git
修复 sender name 混乱
parent
80f97ffbe2
commit
b1dcd3d0ad
|
|
@ -212,7 +212,7 @@ class ActionPlanner:
|
|||
goals_str = self._build_goals_string(conversation_info)
|
||||
chat_history_text = await build_chat_history_text(observation_info, self.private_name)
|
||||
# 获取 sender_name, relationship_text, current_emotion_text
|
||||
sender_name_str = getattr(observation_info, "sender_name", "对方") # 从 observation_info 获取
|
||||
sender_name_str = self.private_name
|
||||
if not sender_name_str:
|
||||
sender_name_str = "对方" # 再次确保有默认值
|
||||
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ async def run_conversation_loop(conversation_instance: "Conversation"):
|
|||
):
|
||||
last_user_msg = other_new_messages_during_planning[-1]
|
||||
last_user_msg_text = last_user_msg.get("processed_plain_text", "用户发了新消息")
|
||||
sender_name_for_event = getattr(conversation_instance.observation_info, "sender_name", "对方")
|
||||
sender_name_for_event = conversation_instance.private_name
|
||||
event_desc = f"用户【{sender_name_for_event}】发送了新消息: '{last_user_msg_text[:30]}...'"
|
||||
await conversation_instance.emotion_updater.update_emotion_based_on_context(
|
||||
conversation_info=conversation_instance.conversation_info,
|
||||
|
|
|
|||
|
|
@ -114,8 +114,6 @@ class ObservationInfo:
|
|||
"""初始化 ObservationInfo"""
|
||||
self.private_name: str = private_name
|
||||
|
||||
# 新增:发信人信息
|
||||
self.sender_name: Optional[str] = None
|
||||
self.sender_user_id: Optional[str] = None # 存储为字符串
|
||||
self.sender_platform: Optional[str] = None
|
||||
|
||||
|
|
@ -232,23 +230,20 @@ class ObservationInfo:
|
|||
if user_info:
|
||||
try:
|
||||
self.sender_user_id = str(user_info.user_id) # 确保是字符串
|
||||
self.sender_name = user_info.user_nickname # 或者 user_info.card 如果私聊时card更准
|
||||
self.sender_platform = user_info.platform
|
||||
current_message_sender_id = self.sender_user_id # 用于后续逻辑
|
||||
logger.debug(
|
||||
f"[私聊][{self.private_name}] 更新发信人信息: ID={self.sender_user_id}, Name={self.sender_name}, Platform={self.sender_platform}"
|
||||
f"[私聊][{self.private_name}] 更新发信人信息: ID={self.sender_user_id}, Name={self.private_name}, Platform={self.sender_platform}"
|
||||
)
|
||||
except AttributeError as e:
|
||||
logger.error(f"[私聊][{self.private_name}] 从 UserInfo 对象提取信息时出错: {e}, UserInfo: {user_info}")
|
||||
# 如果提取失败,将这些新字段设为 None,避免使用旧数据
|
||||
self.sender_user_id = None
|
||||
self.sender_name = None
|
||||
self.sender_platform = None
|
||||
else:
|
||||
logger.warning(f"[私聊][{self.private_name}] 处理消息更新时缺少有效的 UserInfo, message_id: {message_id}")
|
||||
# 如果没有 UserInfo,也将这些新字段设为 None
|
||||
self.sender_user_id = None
|
||||
self.sender_name = None
|
||||
self.sender_platform = None
|
||||
# --- 新增/修改结束 ---
|
||||
|
||||
|
|
|
|||
|
|
@ -71,9 +71,7 @@ class PfcEmotionUpdater:
|
|||
)
|
||||
|
||||
current_mood_text_from_manager = self.mood_mng.current_mood.text # 从 MoodManager 获取当前情绪文本
|
||||
sender_name_for_prompt = getattr(observation_info, "sender_name", "对方")
|
||||
if not sender_name_for_prompt:
|
||||
sender_name_for_prompt = "对方"
|
||||
sender_name_for_prompt = self.private_name
|
||||
relationship_text_for_prompt = getattr(
|
||||
conversation_info, "relationship_text", "关系一般。"
|
||||
) # 从 ConversationInfo 获取关系文本
|
||||
|
|
|
|||
|
|
@ -218,9 +218,7 @@ class ReplyGenerator:
|
|||
|
||||
chat_history_text = await build_chat_history_text(observation_info, self.private_name)
|
||||
|
||||
sender_name_str = getattr(observation_info, "sender_name", "对方")
|
||||
if not sender_name_str:
|
||||
sender_name_str = "对方"
|
||||
sender_name_str = self.private_name
|
||||
|
||||
relationship_text_str = getattr(conversation_info, "relationship_text", "你们还不熟悉。")
|
||||
current_emotion_text_str = getattr(conversation_info, "current_emotion_text", "心情平静。")
|
||||
|
|
|
|||
Loading…
Reference in New Issue