All apps · 0 apps
CinemaStatus
Docker app from Keenaanee's Repository
Overview
Discord bot that polls Plex for the currently playing item, sets its own Discord Rich Presence,
and renames a cinema voice channel based on that media.
Configuration is via environment variables:
- DISCORD_TOKEN: your bot token
- PLEX_URL: Plex server URL (e.g. http://192.168.1.10:32400)
- PLEX_TOKEN: Plex API token
- TARGET_USER: Plex username to track (optional, leave blank to use first active session)
- CINEMA_CHANNEL_ID: voice channel ID to rename
- BASE_CHANNEL_NAME: base name of the channel
- RENAME_COOLDOWN: seconds between renames
- POLL_INTERVAL: seconds between Plex polls (default 30)
Readme
View on GitHubPlex Discord Rich Presence Bot
Small Discord bot that sets its own Rich Presence based on what a Plex user is currently watching and renames a Discord voice channel (your “cinema” channel) based on that same Plex activity. Designed for setups where you want a Discord account to show the movie or TV episode playing on your Plex server (e.g. a “KeeCinema”-style cinema account).
Pull from DockerHub
Rich Presence + cinema channel rename (CinemaStatus):
What it does
Plex → Discord Rich Presence
- Connects to your Plex server via URL and token.
- Watches active Plex sessions and optionally filters to a single Plex username.
- Updates the Discord bot’s Rich Presence with:
- Movie title and year, or
- TV show name, season/episode code, and episode title.
- Shows play/pause status (via the small icon and text).
- Optionally includes timestamps so Discord shows the remaining time.
- Runs as a simple, lightweight polling bot inside Docker.
Plex → Rich Presence + cinema channel
- Renames a chosen Discord voice channel (your “cinema” channel).
- Uses the same Plex data as Rich Presence (movie or episode title).
- Applies a configurable base name (for example
🎬 Cinema) and appends the current title. - Uses a configurable cooldown between renames to avoid API spam.
Requirements
- A Plex server you can reach from the container (URL + token).
- Docker (Unraid, Linux, etc.) or plain Python if you prefer running without Docker.
- A Discord bot with:
- Permission to edit the chosen voice channel’s name in the Discord server.
Configuration (environment variables)
All configuration is done via environment variables:
PLEX_URL(required)
Your Plex server URL, including port.
Example:http://192.168.x.x:32400PLEX_TOKEN(required)
Your Plex API token.TARGET_USER(optional)
Plex username to track. If set, the bot only uses sessions from this user.
If left empty, it will fall back to “any active session”.DISCORD_TOKEN(required)
Discord bot token.CINEMA_CHANNEL_ID(required)
Discord voice channel ID to rename (numeric ID).BASE_CHANNEL_NAME(optional, default🎬 Cinema)
Base name of the cinema channel.
The bot appends the current media title to this.RENAME_COOLDOWN(optional, default300)
Seconds between channel renames.POLL_INTERVAL(optional, default30)
Seconds between Plex polls.
You can use an .env file or pass these directly as -e flags.
Running this bot with Docker
Build (optional, if you want your own image)
docker build -t your-docker-user/cinemastatus .
### Run
```bash
docker run -d \
--name cinemastatus \
-e DISCORD_TOKEN="your-discord-bot-token" \
-e PLEX_URL="http://192.168.x.x:32400" \
-e PLEX_TOKEN="your-plex-token" \
-e TARGET_USER="YourPlexUsername" \
-e CINEMA_CHANNEL_ID="123456789012345678" \
-e BASE_CHANNEL_NAME="🎬 Cinema" \
-e RENAME_COOLDOWN="300" \
-e POLL_INTERVAL="30" \
--restart unless-stopped \
keenaanee/cinemastatus
Logs
docker logs -f cinemastatus
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
keenaanee/cinemastatus:latestRuntime arguments
- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Discord bot token
- Target
- DISCORD_TOKEN
- Default
- YOUR_BOT_TOKEN_HERE
Plex server URL
- Target
- PLEX_URL
- Default
- http://127.0.0.1:32400
Plex API token
- Target
- PLEX_TOKEN
- Default
- YOUR_PLEX_TOKEN_HERE
Plex username to track (optional; blank = first active session)
- Target
- TARGET_USER
Discord voice channel ID to rename
- Target
- CINEMA_CHANNEL_ID
- Default
- YOUR_VOICE_CHANNEL_ID_HERE
Base channel name
- Target
- BASE_CHANNEL_NAME
- Default
- 🎬 Cinema
- Value
- 🎬 Cinema
Seconds between channel renames
- Target
- RENAME_COOLDOWN
- Default
- 300
- Value
- 300
Seconds between Plex polls
- Target
- POLL_INTERVAL
- Default
- 30
- Value
- 30