From 9263b9127645869387536d1636e19af1de1604b5 Mon Sep 17 00:00:00 2001 From: hoelee Date: Sun, 13 Sep 2026 17:50:11 +0800 Subject: [PATCH] Add per-watch ignored keywords (IgnoredKeywords table) Silence Telegram alerts for listings whose title contains a keyword configured for that watch, matched case-insensitively as a substring. - New IgnoredKeywords table: search_url (watch key) + keyword (one per row) - load_ignored_keywords() returns {search_url: {lowercase keywords}}, reloaded every notification cycle so UI edits apply immediately - title_matches_keyword() does the case-insensitive substring check - send_pending_notifications() now also pulls search_url on pending records; skip_notify=true + notified=true on a hit (still archived, no Telegram) - Docs updated: AGENTS.md, README.md, DOCUMENTATION.md --- AGENTS.md | 10 +++++++- DOCUMENTATION.md | 27 +++++++++++++++++++ README.md | 7 ++++- monitor.py | 67 +++++++++++++++++++++++++++++++++++++++--------- 4 files changed, 97 insertions(+), 14 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index fee9bb2..ed6d331 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -9,7 +9,9 @@ from the server-rendered `