RSS to Telegram Bot (BoKKeR)
Para recibir en Telegram las novedades de tus feeds RSS sin depender de servicios de terceros.
Bot autoalojado que reenvía publicaciones de feeds RSS a chats de Telegram.
Notas y contexto
Qué es
RSS to Telegram Bot es un bot de Telegram autoalojado, creado por BoKKeR, que vigila feeds RSS y vuelca sus nuevas publicaciones en un chat de Telegram. Está escrito en TypeScript sobre Node.js, almacena los feeds en SQLite mediante Prisma y usa Redis con Bull como cola de mensajes para respetar los límites de la API de Telegram. Su autor lo construyó porque los servicios de terceros que probó resultaban poco fiables. Se distribuye bajo licencia GPL-3.0.
Para qué sirve
- Recibir automáticamente en Telegram las nuevas entradas de los feeds RSS que sigas.
- Centralizar en un único chat las novedades de blogs, foros o sitios de noticias.
- Sustituir servicios externos de RSS-a-Telegram por una solución propia y controlada.
- Gestionar los feeds desde el propio chat usando los comandos del bot.
Cuándo usarlo
Es ideal cuando quieres seguir varios feeds RSS desde Telegram y prefieres alojar tú mismo el servicio en lugar de confiar en un bot público de terceros. Existe una instancia pública en t.me/rss_t_bot para probarlo sin desplegar nada, pero el caso de uso principal es el autoalojado vía Docker. Si no quieres mantener infraestructura, hay alternativas como el proyecto homónimo de Rongronggg9 (en Python) o bots gestionados.
Ejemplo
Despliegue con Docker, indicando el token del bot (obtenido de BotFather) y la conexión a Redis:
docker create \
--name=rss.to.telegram \
-e TOKEN=chat:token \
-e DEBUG=false \
-e REDIS_HOST=127.0.0.1 \
-e REDIS_PORT=6379 \
-e REDIS_USER=default \
-e REDIS_PASSWORD=secret \
-e REDIS_MUTEX=valor-aleatorio \
-v /ruta/host/config:/app/config \
--restart unless-stopped \
bokker/rss.to.telegram
docker start rss.to.telegram
Para desarrollo local basta con clonar el repo y arrancarlo con Node (usando la versión indicada en .nvmrc):
npm install
cp .env.example .env
npm run dev
Una vez en marcha, se gestionan los feeds desde el chat de Telegram; escribiendo /help el bot muestra todos los comandos disponibles.
Puntos clave
- Bot autoalojado: tú controlas los datos y la disponibilidad del servicio.
- Cola de mensajes con Redis y Bull para no superar los límites de la API de Telegram.
- Persistencia en SQLite gestionada con Prisma, con migraciones incluidas.
- Distribución como imagen Docker (
bokker/rss.to.telegram) lista para desplegar.
Ten en cuenta
Requiere infraestructura propia: un token de bot de BotFather y una instancia de Redis accesible, lo que añade algo de complejidad frente a un servicio gestionado. El proyecto está activo pero su última versión publicada (2.0.9) es de principios de 2024, así que conviene revisar el repositorio antes de adoptarlo en producción. No lo confundas con el proyecto del mismo nombre de Rongronggg9, que es independiente y está escrito en Python.