This commit is contained in:
雅诺狐
2025-09-21 09:59:43 +08:00
8 changed files with 58 additions and 13 deletions

View File

@@ -435,6 +435,13 @@ class HeartFChatting:
# Messages should be processed
action_type = await self.cycle_processor.observe(interest_value=interest_value)
# 尝试触发表达学习
if self.context.expression_learner:
try:
await self.context.expression_learner.trigger_learning_for_chat()
except Exception as e:
logger.error(f"{self.context.log_prefix} 表达学习触发失败: {e}")
# 管理no_reply计数器
if action_type != "no_reply":
self.recent_interest_records.clear()

View File

@@ -167,7 +167,7 @@ class ExpressionLearner:
Returns:
bool: 是否成功触发学习
"""
if not self.should_trigger_learning():
if not await self.should_trigger_learning():
return False
try:

View File

@@ -46,8 +46,8 @@ def replace_user_references_sync(
if replace_bot_name and user_id == global_config.bot.qq_account:
return f"{global_config.bot.nickname}(你)"
person_id = PersonInfoManager.get_person_id(platform, user_id)
return person_info_manager.get_value_sync(person_id, "person_name") or user_id # type: ignore
return person_info_manager.get_value(person_id, "person_name") or user_id # type: ignore
name_resolver = default_resolver
# 处理回复<aaa:bbb>格式
@@ -1232,7 +1232,7 @@ async def build_anonymous_messages(messages: List[Dict[str, Any]]) -> str:
# 在最前面添加图片映射信息
final_output_lines = []
pic_mapping_info = build_pic_mapping_info(pic_id_mapping)
pic_mapping_info = await build_pic_mapping_info(pic_id_mapping)
if pic_mapping_info:
final_output_lines.append(pic_mapping_info)
final_output_lines.append("\n\n")

View File

@@ -965,7 +965,7 @@ class Prompt:
person_info_manager = get_person_info_manager()
person_id = person_info_manager.get_person_id_by_person_name(sender)
if person_id:
user_id = person_info_manager.get_value_sync(person_id, "user_id")
user_id = person_info_manager.get_value(person_id, "user_id")
return str(user_id) if user_id else ""
return ""

View File

@@ -663,7 +663,7 @@ def get_chat_type_and_target_info(chat_id: str) -> Tuple[bool, Optional[Dict]]:
if person_id:
# get_value is async, so await it directly
person_info_manager = get_person_info_manager()
person_name = person_info_manager.get_value_sync(person_id, "person_name")
person_name = person_info_manager.get_value(person_id, "person_name")
target_info["person_id"] = person_id
target_info["person_name"] = person_name