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
Install CinemaStatus on Unraid in a few clicks.
Find CinemaStatus in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
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