Commit graph

5 commits

Author SHA1 Message Date
da20cb537b feat: add CI workflow, Docker deployment, and comprehensive documentation 2026-09-27 15:24:22 +05:30
f08ec5c02c fix: bound queued alerts, surface refresh errors, and shut down gracefully
- Cap each subscription's pending queue at MAX_PENDING (50) so a channel that can
  no longer receive messages cannot grow state.json without limit. prune_pending
  also runs after appending, so a single poll cannot push the queue past the limit.
- Log the actual error from refresh() and deliver() in the poll loop and from the
  framework on_error handler; both discarded it, leaving a stalled refresh with no
  diagnosable cause.
- Handle SIGTERM as well as Ctrl+C so container runtimes can stop the bot between
  commits instead of killing it mid-write.

Adds regression tests for the queue bound in both prune_pending and updated().
2026-09-20 01:47:45 +05:30
6ffdb4ca4f feat: add presentation formatting, filter options, and testping command 2026-09-17 12:11:12 +05:30
34d54b5c45 feat: implement catalog monitoring, alerts delivery, and slash commands 2026-09-17 08:09:28 +05:30
ee78de7923 initial commit: OpenRouter free model radar Discord bot (WIP) 2026-09-17 07:51:54 +05:30