Skip to content

Repository files navigation

jellyfin-telegram-channel-sync

CI License Docker Pulls listed on awesome-jellyfin

A daemon, run in Docker, that keeps Jellyfin accounts in step with a private Telegram channel: leave the channel and your account is disabled, come back and it is enabled again. You link people to accounts from a private chat with a Telegram bot, which also reports every change.

Features

  • Disables a Jellyfin account once its person has been out of the channel for GRACE_HOURS (72 by default), and enables it again when they rejoin.
  • Checks each linked person with the Bot API getChatMember, so it works on channels past Telegram's 200-member listing cap.
  • Never acts on an unanswered lookup. It only undoes its own changes and never touches administrators or EXEMPT_USERS.
  • A second rule disables accounts nobody has used for INACTIVE_DAYS (365 by default).
  • Links several Telegram accounts to one Jellyfin user. Present if any of them is in the channel.
  • Managed from your private chat with the bot (/link, /unknown, /status, /inactive, /dryrun), which also reports every change.
  • Starts in dry-run mode. State, the grace clock and an audit log live in one SQLite file.

Quick start

Run this in an empty folder, with Telegram API credentials, a bot that is an administrator of the channel, a Jellyfin API key and the channel id at hand (Getting started says where each comes from).

curl -O https://raw.githubusercontent.com/GeiserX/jellyfin-telegram-channel-sync/main/docker-compose.yml
docker compose run --rm jellytelegram-sync python -m app.login
docker compose up -d

Fill in the environment: block of docker-compose.yml before the second command. Then send /start to your bot, link people with /link, and send /dryrun off once /links looks right.

Documentation

Related projects

Part of the same family: quality-gate, smart-covers, whisper-subs, quality-gate-encoder, paperless-telegram-bot, telegram-slskd-local-bot. What each one does is in Related projects.

License

GPL-3.0-or-later

Releases

Sponsor this project

Packages

Used by

Contributors

Languages