fix: reuse referenced message media in dashboard quotes

This commit is contained in:
liuwei
2026-04-07 17:44:15 +08:00
parent e823c1049f
commit 238e478f52
3 changed files with 33 additions and 0 deletions

View File

@@ -76,6 +76,7 @@ def parse_quote_message(xml_content: str) -> dict:
display_name = _clean_text(_extract_first(r'<displayname>(.*?)</displayname>', xml_content, "未知用户")) or "未知用户"
quoted_content = _extract_first(r'<refermsg>.*?<content>(.*?)</content>', xml_content)
ref_type = _extract_first(r'<refermsg>.*?<type>(.*?)</type>', xml_content)
reference_svrid = _extract_first(r'<refermsg>.*?<svrid>(.*?)</svrid>', xml_content)
pretty_reference = _format_referenced_content(ref_type, quoted_content, xml_content)
media_preview = _extract_media_preview(ref_type, quoted_content)
@@ -83,6 +84,7 @@ def parse_quote_message(xml_content: str) -> dict:
"main_content": main_content,
"display_name": display_name,
"quoted_content": pretty_reference,
"reference_svrid": reference_svrid,
"reference_type": media_preview.get("reference_type", "text"),
"preview_image": media_preview.get("preview_image", ""),
"preview_video_thumb": media_preview.get("preview_video_thumb", ""),