Fix expression learner text fallback

pull/1322/head
magisk317 2025-10-26 10:55:22 +08:00
parent c5b9bc4927
commit c1f69d65bb
2 changed files with 10 additions and 5 deletions

View File

@ -983,8 +983,8 @@ async def build_bare_messages(messages: List[DatabaseMessages]) -> str:
output_lines = []
for msg in messages:
# 获取纯文本内容
content = msg.processed_plain_text or ""
# 获取纯文本内容优先使用processed_plain_text回退到display_message
content = msg.processed_plain_text or getattr(msg, "display_message", None) or ""
# 处理图片ID
pic_pattern = r"\[picid:[^\]]+\]"

View File

@ -438,7 +438,12 @@ class ExpressionLearner:
continue
prev_original_idx = bare_lines[pos - 1][0]
up_content = filter_message_content(random_msg[prev_original_idx].processed_plain_text or "")
source_content = (
random_msg[prev_original_idx].processed_plain_text
or getattr(random_msg[prev_original_idx], "display_message", None)
or ""
)
up_content = filter_message_content(source_content)
if not up_content:
# 上一句为空,跳过该表达
continue
@ -493,8 +498,8 @@ class ExpressionLearner:
bare_lines: List[Tuple[int, str]] = []
for idx, msg in enumerate(messages):
content = msg.processed_plain_text or ""
content = filter_message_content(content)
raw_content = msg.processed_plain_text or getattr(msg, "display_message", None) or ""
content = filter_message_content(raw_content)
# 即使content为空也要记录防止错位
bare_lines.append((idx, content))