Commit Graph

4 Commits

Author SHA1 Message Date
bot e8866ce4e6 Fix restart data loss; isolate per-article failures in the poll loop
monitor_feeds() unconditionally ran the startup scan with
initial_run=True, which marks everything unseen as seen WITHOUT
alerting — not just on the bot's very first run, but on every restart.
Anything published while the service was stopped for a deploy was
silently dropped. RSSFeedManager.first_run and the new
RansomwareFetcher.is_first_run() were already available to tell the
two cases apart; monitor_feeds() now actually checks them, and does a
real fetch-and-alert pass for anything missed on a plain restart.

Also splits the per-article classify+send loop out into
_classify_and_send()/_send_ransomware_victims(), each wrapping a
single article/victim in its own try/except — previously one bad
article could raise past the whole batch and skip ransomware polling
for that cycle too. Category/poll-interval config now comes from
bot_config.py instead of a local copy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-25 12:20:08 +03:00
bot ad69c6a266 Ransomware.live integration, 48h window, CISA feeds, validation updates, README 2026-04-29 11:24:23 +03:00
bot 47d8394568 Remove severity and quality scoring, classifier is extraction-only 2026-04-29 09:15:53 +03:00
bot a654a91023 RSS Telegram Bot 2026-03-08 17:32:52 +00:00