RSS Skull Bot is a TypeScript Telegram bot that monitors RSS, Atom, JSON Feed, Reddit subreddit RSS feeds and converted social sources, then delivers new items through a resilient queue-based pipeline.
- Node.js 20+
- TypeScript
- grammY +
@grammyjs/runner - Fastify
- Prisma + SQLite
- BullMQ + Redis
- Monitors feeds on recurring schedules with Redis-backed workers
- Supports RSS 2.0, Atom 1.0 and JSON Feed 1.1
- Normalizes Reddit subreddit URLs to the public
/.rssfeed - Converts or discovers feeds from YouTube and websites
- Applies include/exclude filters per feed
- Uses dedupe, retries, circuit breakers and health monitoring
- Exposes operational endpoints such as
/health,/stats,/metricsand/resilience-stats
cp .env.example .envSet BOT_TOKEN in .env, then run:
docker compose up -d --build
curl http://localhost:8916/healthIf BOT_TOKEN is missing, Docker Compose now fails fast instead of starting a broken container.
Prerequisites:
- Node.js 20+
- Redis
Run:
npm install
cp .env.example .envFor local development, set at least:
NODE_ENV=development
DATABASE_URL=file:./dev.db
REDIS_HOST=localhost
BOT_TOKEN=your_real_bot_tokenThen:
npm run db:generate
npm run dev/start/help/ping/add <name> <url>/list/remove <name>/enable <name>/disable <name>/discover <url>/status/filters .../template .../stats
MIT. See LICENSE.