Files
jellydisc/main.py

36 lines
905 B
Python

from discord.rpc import DiscordRPC
from jellyfin.api_client import JellyfinApiClient
from jellyfin.utils import to_rpc_payload
from settings import settings
import coloredlogs
import logging
import time
coloredlogs.install(
level=logging.INFO,
fmt='%(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(settings.poll_interval)
continue
discordRPC.update(to_rpc_payload(media_item))
time.sleep(settings.poll_interval)
except KeyboardInterrupt:
logging.info("Shutting down...")
discordRPC.clear()
break
if __name__ == "__main__":
main()