feat: add 11 alert backends and fix PyPI/DEV.to search
Add Wikipedia, Stack Exchange, GitLab, npm, PyPI, Docker Hub, arXiv, Lobsters, DEV.to, Medium, and Hugging Face backends to the alert plugin (16 -> 27 total). Fix PyPI backend to use RSS updates feed (web search now requires JS challenge). Fix DEV.to to use public articles API (feed_content endpoint returns empty). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -660,10 +660,9 @@ Title Three -- https://example.com/page3
|
||||
|
||||
### `!alert` -- Keyword Alert Subscriptions
|
||||
|
||||
Search keywords across multiple platforms (YouTube, Twitch, SearXNG, Reddit,
|
||||
Mastodon/Fediverse) and announce new results. Unlike `!rss`/`!yt`/`!twitch`
|
||||
which follow specific channels/feeds, `!alert` searches keywords across all
|
||||
supported platforms simultaneously.
|
||||
Search keywords across 27 platforms and announce new results. Unlike
|
||||
`!rss`/`!yt`/`!twitch` which follow specific channels/feeds, `!alert` searches
|
||||
keywords across all supported platforms simultaneously.
|
||||
|
||||
```
|
||||
!alert add <name> <keyword...> Add keyword alert (admin)
|
||||
@@ -699,6 +698,17 @@ Platforms searched:
|
||||
- **Archive.org** (`ia`) -- Internet Archive advanced search, sorted by date (no auth required)
|
||||
- **Hacker News** (`hn`) -- Algolia search API, sorted by date (no auth required)
|
||||
- **GitHub** (`gh`) -- Repository search API, sorted by recently updated (no auth required)
|
||||
- **Wikipedia** (`wp`) -- MediaWiki search API, English Wikipedia (no auth required)
|
||||
- **Stack Exchange** (`se`) -- Stack Overflow search API, sorted by activity (no auth required)
|
||||
- **GitLab** (`gl`) -- Public project search API, sorted by last activity (no auth required)
|
||||
- **npm** (`nm`) -- npm registry search API (no auth required)
|
||||
- **PyPI** (`pp`) -- Recent package updates RSS feed, keyword-filtered (no auth required)
|
||||
- **Docker Hub** (`dh`) -- Public repository search API (no auth required)
|
||||
- **arXiv** (`ax`) -- Atom search API for academic papers (no auth required)
|
||||
- **Lobsters** (`lb`) -- Community link aggregator search (no auth required)
|
||||
- **DEV.to** (`dv`) -- Forem articles API, tag-based search (no auth required)
|
||||
- **Medium** (`md`) -- Tag-based RSS feed (no auth required)
|
||||
- **Hugging Face** (`hf`) -- Model search API, sorted by downloads (no auth required)
|
||||
|
||||
Polling and announcements:
|
||||
|
||||
@@ -706,7 +716,8 @@ Polling and announcements:
|
||||
- On `add`, existing results are recorded without announcing (prevents flood)
|
||||
- New results announced as `[name/<tag>/<id>] Title -- URL` where tag is one of:
|
||||
`yt`, `tw`, `sx`, `rd`, `ft`, `dg`, `gn`, `kk`, `dm`, `pt`, `bs`, `ly`, `od`, `ia`,
|
||||
`hn`, `gh` and `<id>` is a short deterministic ID for use with `!alert info`
|
||||
`hn`, `gh`, `wp`, `se`, `gl`, `nm`, `pp`, `dh`, `ax`, `lb`, `dv`, `md`, `hf`
|
||||
and `<id>` is a short deterministic ID for use with `!alert info`
|
||||
- Titles are truncated to 80 characters
|
||||
- Each platform maintains its own seen list (capped at 200 per platform)
|
||||
- 5 consecutive errors doubles the poll interval (max 1 hour)
|
||||
|
||||
Reference in New Issue
Block a user