Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

jellyfin-telegram-channel-sync

Daemon que sincroniza cuentas Jellyfin con membresía de canal Telegram, deshabilitando automáticamente cuentas al abandonar el canal o tras periodo de inactividad.

Ficha actualizada 26 sept 2026, 17:53 · upstream 26 sept 2026, 17:49 · release v1.0.0

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es jellyfin-telegram-channel-sync

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Este daemon mantiene las cuentas Jellyfin alineadas con la membresía de un canal privado de Telegram. Si se abandona el canal, la cuenta se deshabilita automáticamente; al regresar, se reactiva. También gestiona una segunda regla: deshabilita cuentas sin actividad durante INACTIVE_DAYS (365 días por defecto), independientemente del estado en Telegram.

El sistema utiliza dos sesiones de Telegram: una para el bot que verifica membresía y notifica cambios, y otra para el usuario propietario que lista miembros del canal. Cada ciclo consulta getChatMember para cada cuenta vinculada, con un intervalo configurable (3600 segundos por defecto). El modo DRY_RUN está activado por defecto para pruebas seguras.

La lógica de sincronización es una función pura en app/sync.py, lo que garantiza transparencia y facilita las pruebas. Las cuentas administrativas y usuarios en EXEMPT_USERS están protegidos de ambas reglas. Los tiempos de gracia (GRACE_HOURS=72) se almacenan en base de datos para persistir tras reinicios.

CASOS DE USO
  • Gestionar acceso a servidor multimedia basado en membresía de canal Telegram
  • Automatizar revocación de acceso cuando usuarios abandonan grupos privados
  • Implementar política de inactividad automática sin intervención manual
  • Auditar quién tiene acceso y cuándo fue la última actividad
  • Sincronizar múltiples identidades Telegram con un único usuario Jellyfin
PUNTOS DESTACADOS
  • Modo DRY_RUN por defecto permite pruebas seguras antes de activar cambios reales
  • Persistencia en base de datos evita reinicios que reseteen temporizadores de gracia
  • Soporte Docker y docker-compose para despliegue sencillo
  • Separación clara entre sesiones bot y usuario propietario
  • Protección explícita para administradores y usuarios exentos
PRECAUCIONES
  • Canal con más de 200 miembros requiere vinculación manual por ID numérico o @username, no listado automático completo
  • Requiere que el bot sea administrador del canal para verificar membresía
  • Necesita configuración inicial interactiva (autenticación Telegram)
  • Usuarios sin actividad en Jellyfin permanecen deshabilitados incluso al regresar al canal
  • Dependencia de API de Telegram y Jellyfin con credenciales expuestas en variables de entorno
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

jellyfin-telegram-channel-sync banner
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA2 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Listo para automatizar

Requiere Docker con volumen ./data:/app/data. Configurar TELEGRAM_API_ID, TELEGRAM_API_HASH, TELEGRAM_BOT_TOKEN, OWNER_ID, JELLYFIN_URL, JELLYFIN_API_KEY y TELEGRAM_CHANNEL antes de iniciar. Ejecutar python -m app.login para autenticar sesiones. Activar DRY_RUN=false solo tras verificar /links. Mantener data fuera de repositorio git.

✓Dockerfile
✓Compose
✓One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
No detectados
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.