Enterprise-grade RSS to Telegram bot with advanced anti-blocking capabilities. Monitors RSS feeds and delivers content notifications to Telegram channels with enterprise-level reliability.
Find a file
2026-03-31 22:24:42 -03:00
docs refactoring 2026-03-29 23:45:58 -03:00
prisma working 2026-01-09 23:11:19 -03:00
scripts refactoring 2026-03-29 23:45:58 -03:00
src refactoring 2026-03-29 23:45:58 -03:00
.dockerignore refactoring 2026-03-29 23:45:58 -03:00
.env.example fix docker 2026-03-31 22:24:42 -03:00
.gitattributes working 2026-01-09 23:11:19 -03:00
.gitignore refactoring 2026-03-29 23:45:58 -03:00
biome.json working 2026-01-09 23:11:19 -03:00
docker-compose.yml fix docker 2026-03-31 22:24:42 -03:00
docker-entrypoint.sh fix docker 2026-03-31 22:24:42 -03:00
Dockerfile fix docker 2026-03-31 22:24:42 -03:00
LICENSE working 2026-01-09 23:11:19 -03:00
package-lock.json refactoring 2026-03-29 23:45:58 -03:00
package.json working 2026-01-09 23:11:19 -03:00
README.md fix docker 2026-03-31 22:24:42 -03:00
tsconfig.json working 2026-01-09 23:11:19 -03:00
vitest.config.ts working 2026-01-09 23:11:19 -03:00

RSS Skull Bot

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.

Stack

  • Node.js 20+
  • TypeScript
  • grammY + @grammyjs/runner
  • Fastify
  • Prisma + SQLite
  • BullMQ + Redis

What It Does

  • 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 /.rss feed
  • 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, /metrics and /resilience-stats

Quick Start

Docker

cp .env.example .env

Set BOT_TOKEN in .env, then run:

docker compose up -d --build
curl http://localhost:8916/health

If BOT_TOKEN is missing, Docker Compose now fails fast instead of starting a broken container.

Local Development

Prerequisites:

  • Node.js 20+
  • Redis

Run:

npm install
cp .env.example .env

For local development, set at least:

NODE_ENV=development
DATABASE_URL=file:./dev.db
REDIS_HOST=localhost
BOT_TOKEN=your_real_bot_token

Then:

npm run db:generate
npm run dev

Core Commands

  • /start
  • /help
  • /ping
  • /add <name> <url>
  • /list
  • /remove <name>
  • /enable <name>
  • /disable <name>
  • /discover <url>
  • /status
  • /filters ...
  • /template ...
  • /stats

Docs

License

MIT. See LICENSE.