from discord.rpc import DiscordRPC from jellyfin.api_client import JellyfinApiClient from jellyfin.utils import to_rpc_payload from settings import settings 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(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()