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
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.
- 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
- 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
- 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
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
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.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
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.