Last active 1670065456

uses Tautulli as an easy way to get plex session data. has to be run on the same machine as your discord desktop client for access to RPC

discord_presence_plex.py Raw
1from pypresence import Presence # https://github.com/qwertyquerty/pypresence
2from requests import get
3from time import sleep
4from sys import exit
5
6client_id = "556909532417228919"
7user = "blha303"
8tautulli_instance = "https://tau.home.b303.me" # https://github.com/Tautulli/Tautulli
9
10RPC = Presence(client_id)
11RPC.connect()
12
13while 1:
14 my = [s for s in get(tautulli_instance + "/get_activity").json()["sessions"] if s["user"] == user]
15 if my:
16 my = my[0]
17 s = int(my["view_offset"])//1000
18 m,s = divmod(s,60)
19 h,m = divmod(m,60)
20 my["view_offset"] = "{:02d}:{:02d}:{:02d}".format(h,m,s)
21 RPC.update(details="{grandparent_title} ({studio}) {parent_title} - {title}".format(**my),
22 state="{state} | {view_offset} | {stream_video_width}x{stream_video_height}".format(**my))
23 else:
24 RPC.clear()
25 sleep(15)