CinemaStatus

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)

2

Plex 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):

Docker Pulls

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:32400

  • PLEX_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, default 300)
    Seconds between channel renames.

  • POLL_INTERVAL (optional, default 30)
    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.

Open the Apps tab on your Unraid server Search Community Apps for CinemaStatus Review the template variables and paths Click Install

Download Statistics

357
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
keenaanee/cinemastatus:latest
Last Updated2025-11-14
First Seen2025-12-10

Runtime arguments

Network
bridge
Shell
sh
Privileged
false

Template configuration

Key 1Variable

Discord bot token

Target
DISCORD_TOKEN
Default
YOUR_BOT_TOKEN_HERE
Key 2Variable

Plex server URL

Target
PLEX_URL
Default
http://127.0.0.1:32400
Key 3Variable

Plex API token

Target
PLEX_TOKEN
Default
YOUR_PLEX_TOKEN_HERE
Key 4Variable

Plex username to track (optional; blank = first active session)

Target
TARGET_USER
Key 5Variable

Discord voice channel ID to rename

Target
CINEMA_CHANNEL_ID
Default
YOUR_VOICE_CHANNEL_ID_HERE
Key 6Variable

Base channel name

Target
BASE_CHANNEL_NAME
Default
🎬 Cinema
Value
🎬 Cinema
Key 7Variable

Seconds between channel renames

Target
RENAME_COOLDOWN
Default
300
Value
300
Key 8Variable

Seconds between Plex polls

Target
POLL_INTERVAL
Default
30
Value
30