refactor(chat): 简化括号内容过滤
将用于过滤 `[表情包:...]` 和 `[图片:...]` 等内容的多个特定正则表达式模式替换为一个更通用的 `[.*?]` 模式。 此更改简化了代码,并通过处理方括号内的任何内容(包括未处理的格式如 `[at=...]`)提高了过滤的稳健性。
This commit is contained in:
@@ -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():
|
||||
|
||||
Reference in New Issue
Block a user