Files
jellydisc/main.py

36 lines
974 B
Python

from discord.rpc import DiscordRPC
from jellyfin.api_client import JellyfinApiClient
from jellyfin.utils import to_rpc_payload
import logging
import time
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
discordRPC = DiscordRPC()
jellyfinApiClient = JellyfinApiClient()
def main():
while True:
try:
media_item = jellyfinApiClient.get_current_playback()
if not media_item:
discordRPC.clear()
time.sleep(15)
continue
discordRPC.update(to_rpc_payload(media_item))
time.sleep(15)
except KeyboardInterrupt:
logging.info("Shutting down...")
discordRPC.clear()
break
except:
logging.exception("An error occurred in the main loop.")
jellyfinApiClient.authenticate()
time.sleep(15)
if __name__ == "__main__":
main()