All Projects → phineas05 → discord-rich-presence-plex

phineas05 / discord-rich-presence-plex

Licence: MIT license
Display your Plex status on Discord using Rich Presence

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to discord-rich-presence-plex

Plex.py
Python interface for the Plex Media Server API
Stars: ✭ 22 (-87.78%)
Mutual labels:  plex, plex-media-server
Plex Lastfm Scrobbler
Scrobble played audio items Last.FM from the Plex Media Server application.
Stars: ✭ 88 (-51.11%)
Mutual labels:  plex, plex-media-server
Porthole
A window into the status of multiple services related to Plex Media Server (Plex, Couchpotato, Sickrage, Deluge, Sabnzbd+, etc.).
Stars: ✭ 30 (-83.33%)
Mutual labels:  plex, plex-media-server
Plex Nginx Reverseproxy
Configuration to serve Plex Media Center https://plex.tv using Nginx https://nginx.com
Stars: ✭ 523 (+190.56%)
Mutual labels:  plex, plex-media-server
Media Docker
all-in-one deployment and configuration for an all-in-one media server, running on docker.
Stars: ✭ 148 (-17.78%)
Mutual labels:  plex, plex-media-server
Telly
An IPTV proxy
Stars: ✭ 557 (+209.44%)
Mutual labels:  plex, plex-media-server
Cloud Media Scripts
Upload and stream media from the cloud with or without encryption. Cache all new and recently streamed media locally to access quickly and reduce API calls
Stars: ✭ 84 (-53.33%)
Mutual labels:  plex, plex-media-server
PGMA-Modernized
An updated approach for Plex Gay Media Adult Agents for both Full Feature Films and Scenes
Stars: ✭ 59 (-67.22%)
Mutual labels:  plex, plex-media-server
Plexidrive
Scripts to facilitate the use of cloud storage (such as Google Drive) as storage for Plex media server
Stars: ✭ 118 (-34.44%)
Mutual labels:  plex, plex-media-server
Plexupdate
Plex Update script to simplify the life of Linux Plex Media Server users.
Stars: ✭ 1,523 (+746.11%)
Mutual labels:  plex, plex-media-server
Audiobooks.bundle
Plex metadata scraper for Audiobooks
Stars: ✭ 461 (+156.11%)
Mutual labels:  plex, plex-media-server
Ultimate Media Server Core
A bunch of scripts that I've collected, written, and forked for the ultimate administration & automation of your Media Server - Think of this as your "Media server in a box"
Stars: ✭ 188 (+4.44%)
Mutual labels:  plex, plex-media-server
Kitana
A responsive Plex plugin web frontend
Stars: ✭ 252 (+40%)
Mutual labels:  plex, plex-media-server
Iptv.bundle
Plex plug-in that plays live streams (like IPTV) from a M3U playlist
Stars: ✭ 739 (+310.56%)
Mutual labels:  plex, plex-media-server
plexmedia-downloader
Offline download media from Plex Media Server
Stars: ✭ 15 (-91.67%)
Mutual labels:  plex, plex-media-server
Plexus
A suite of tools to help manage your media collection.
Stars: ✭ 78 (-56.67%)
Mutual labels:  plex, plex-media-server
synology-update-plex
Script to Auto Update Plex Media Server on Synology NAS
Stars: ✭ 89 (-50.56%)
Mutual labels:  plex, plex-media-server
plex-traefik
Plex media server with traefik 2 in docker and docker-compose
Stars: ✭ 30 (-83.33%)
Mutual labels:  plex, plex-media-server
Conv2mp4 Ps
This Powershell script will recursively search through a user-defined file path and convert all videos of user-specified file types to MP4 with H264 video and AAC audio using ffmpeg. The purpose of this script is to reduce transcoding CPU load on a media server like Plex or Emby and increase video compatibility across platforms.
Stars: ✭ 97 (-46.11%)
Mutual labels:  plex, plex-media-server
Usenet Docker
Docker-compose configuration for Sabnzbd, CouchPotato, Plex, Sonarr, Plexpy, Nzbhydra, Muximux, Radarr, NZBGet and Ombi with a Nginx proxy.
Stars: ✭ 153 (-15%)
Mutual labels:  plex, plex-media-server

Discord Rich Presence for Plex

Showcase

A Python script that displays your Plex status on Discord using Rich Presence.

Current Version: 2.3.2

Getting Started

  1. Install Python 3.10 - Make sure to tick "Add Python 3.10 to PATH" during the installation.
  2. Download this repository's contents.
  3. Extract the folder contained in the above ZIP file.
  4. Navigate a command-line interface (cmd.exe, PowerShell, bash, etc.) into the above-extracted directory.
  5. Install the required Python modules by running python -m pip install -U -r requirements.txt.
  6. Start the script by running python main.py.

When the script runs for the first time, a config.json file will be created in the working directory and you will be prompted to complete the authentication flow to allow the script to retrieve an access token for your Plex account.

The script must be running on the same machine as your Discord client.

Configuration - config.json

Reference

  • logging
    • debug (boolean, default: true) - Outputs additional debug-helpful information to the console if enabled.
    • writeToFile (boolean, default: false) - Writes everything outputted to the console to a console.log file if enabled.
  • display - Display settings for Rich Presence
    • hideTotalTime (boolean, default: false) - Hides the total duration of the media if enabled.
    • useRemainingTime (boolean, default: false) - Displays the media's remaining time instead of elapsed time if enabled.
    • posters
      • enabled (boolean, default: false) - Displays media posters if enabled. Requires imgurClientID.
      • imgurClientID (string, default: "") - Obtention Instructions
    • buttons (list) - Information
      • label (string) - The label to be displayed on the button.
      • url (string) - A web address or a dynamic URL placeholder.
  • users (list)
    • token (string) - An access token associated with your Plex account. (X-Plex-Token, Authenticating with Plex)
    • servers (list)
      • name (string) - Name of the Plex Media Server you wish to connect to.
      • listenForUser (string, optional) - The script will respond to alerts originating only from this username. Defaults to the parent user's username if not set.
      • blacklistedLibraries (list, optional) - Alerts originating from libraries in this list are ignored.
      • whitelistedLibraries (list, optional) - If set, alerts originating from libraries that are not in this list are ignored.

Obtaining an Imgur client ID

  1. Go to Imgur's application registration page.
  2. Enter any name for the application and pick OAuth2 without a callback URL as the authorisation type.
  3. Submit the form to obtain your application's client ID.

Buttons

Discord can display up to 2 buttons in your Rich Presence.

Due to a strange Discord bug, these buttons are unresponsive or exhibit strange behaviour towards your own clicks, but other users are able to click on them to open their corresponding URLs.

Dynamic Button URLs

During runtime, the following dynamic URL placeholders will get replaced with real URLs based on the media being played:

  • dynamic:imdb
  • dynamic:tmdb

Example

{
  "logging": {
    "debug": true,
    "writeToFile": false
  },
  "display": {
    "hideTotalTime": false,
    "useRemainingTime": false,
    "posters": {
      "enabled": true,
      "imgurClientID": "9e9sf637S8bRp4z"
    },
    "buttons": [
      {
        "label": "IMDb Link",
        "url": "dynamic:imdb"
      },
      {
        "label": "My YouTube Channel",
        "url": "https://www.youtube.com/channel/me"
      }
    ]
  },
  "users": [
    {
      "token": "HPbrz2NhfLRjU888Rrdt",
      "servers": [
        {
          "name": "Bob's Home Media Server"
        },
        {
          "name": "A Friend's Server",
          "listenForUser": "xyz",
          "whitelistedLibraries": ["Movies"]
        }
      ]
    }
  ]
}

Configuration - Discord

The "Display current activity as a status message" setting must be enabled in Discord Settings → Activity Settings → Activity Privacy.

Discord Settings

License

This project is licensed under the MIT License. See the LICENSE file for details.

Credits

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].