refactor(chat): 简化括号内容过滤

将用于过滤 `[表情包:...]` 和 `[图片:...]` 等内容的多个特定正则表达式模式替换为一个更通用的 `[.*?]` 模式。

此更改简化了代码,并通过处理方括号内的任何内容(包括未处理的格式如 `[at=...]`)提高了过滤的稳健性。
This commit is contained in:
tt-P607
2025-11-13 20:38:59 +08:00
committed by Windpicker-owo
parent 05205c60b3
commit 44b824a690

View File

@@ -960,16 +960,11 @@ def filter_system_format_content(content: str | None) -> str:
cleaned_content = cleaned_content[last_bracket_index + 1 :].strip()
# 在处理完回复格式后,再清理其他简单的格式
# 移除表情包格式:[表情包xxx]
cleaned_content = re.sub(r"\[表情包:[^\]]*\]", "", cleaned_content)
# 移除图片格式:[图片:xxx]
cleaned_content = re.sub(r"\[图片:[^\]]*\]", "", cleaned_content)
# 新增:移除所有残余的 [...] 格式,例如 [at=...] 等
cleaned_content = re.sub(r"\[.*?\]", "", cleaned_content)
# 移除@格式:@<xxx>
cleaned_content = re.sub(r"@<[^>]*>", "", cleaned_content)
# [表情包(描述生成失败)] 等错误格式
cleaned_content = re.sub(r"\[表情包\([^)]*\)\]", "", cleaned_content)
# [图片(描述生成失败)] 等错误格式
cleaned_content = re.sub(r"\[图片\([^)]*\)\]", "", cleaned_content)
# 记录过滤操作
if cleaned_content != original_content.strip():