修:OCR md 残留死循环 - checkbox/[V]残片 + 断链检测
问题:bot md回复被OCR识别后再次进入自动回复管道,形成死循环。 [V] GitHu [V] gitee... 等checkbox碎片和 [text](url 断链碎片 未触发现有 md 检测,导致自言自语。 修复: 1. 行级OCR过滤:含2+个 [V] 标记的行直接丢弃 2. _is_markdown_document 加两条: - checkbox 标记 [V]/[v]/[x]/[V ] 等 → md 残留 - 断链 [text]( → QQ群聊不用此语法
This commit is contained in:
+10
@@ -1069,6 +1069,10 @@ class MessageMonitor:
|
||||
if re.match(r'^\[[VX√✗]\s*\](?:\s*[A-Za-z0-9_\-./]+)?\s*$', line):
|
||||
logger.debug(f"[{platform}] OCR 过滤: checkbox残片 line={line!r}")
|
||||
continue
|
||||
# 多 checkbox 碎片:一行含 2+ 个 [V] 标记,md 列表 OCR 残留
|
||||
if len(re.findall(r'\[\s*[VXvx√✗]\s*\]', line)) >= 2:
|
||||
logger.debug(f"[{platform}] OCR 过滤: 多checkbox碎片 line={line!r}")
|
||||
continue
|
||||
if re.match(r'^\d{1,2}[::\s]\d{1,2}', line):
|
||||
continue
|
||||
if re.match(r'^\d{4}[/-]\d{1,2}', line):
|
||||
@@ -1451,6 +1455,12 @@ class MessageMonitor:
|
||||
# 内联 # # 标题标记(如 "# # 必装依赖" → 分割后 `# #` 或 `# #`)
|
||||
if re.search(r'#\s*#', text):
|
||||
return True
|
||||
# OCR 退化 md checkbox:`[V]`、`[v]`、`[x]` 等(含空格变体 [V ])
|
||||
if re.search(r'\[\s*[VXvx√✗]\s*\]', text):
|
||||
return True
|
||||
# OCR 退化 md 链接:`[text](...` 缺闭合括号,QQ 群聊几乎不用此语法
|
||||
if re.search(r'\[.+?\]\(', text):
|
||||
return True
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
|
||||
Reference in New Issue
Block a user