fix(repeat): 修复重启后已处理消息被重复处理
问题:有新鲜时间戳(≤300s)的用户消息在过滤器1放行时,未调用
record_user_message()记录到DB。重启后:
- _seen_messages被清空
- DB只有bot回复记录,无用户消息记录
- is_user_message_replied()返回False(骨架匹配也失败)
→ 同一用户消息被当作新消息重新处理
修复:在"发现新鲜时间戳{ts}(≤300s),放行"时同步记录用户消息到DB
注意:无时间戳消息已在原代码中记录(record_user_message)
本次仅补充有时间戳消息的记录
This commit is contained in:
@@ -5087,6 +5087,8 @@ class MessageMonitor:
|
||||
try:
|
||||
if not self._is_timestamp_old(ts, 300):
|
||||
logger.debug(f"[ocr] 过滤器1结果: 发现新鲜时间戳{ts}(≤300s),放行")
|
||||
# ⭐ 记录用户消息到DB,防止重启后重复处理
|
||||
self._msg_history.record_user_message(platform, stripped)
|
||||
return True
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user