|
from pypresence import Presence |
|
import datetime as dt |
|
import time |
|
|
|
|
|
class RichPresenceManager: |
|
def __init__(self): |
|
self.client_id = "1144714449563955302" |
|
self.rpc = None |
|
self.running = False |
|
|
|
def start_presence(self): |
|
if not self.running: |
|
self.running = True |
|
self.rpc = Presence(self.client_id) |
|
try: |
|
self.rpc.connect() |
|
self.update_presence() |
|
except KeyboardInterrupt as error: |
|
print(error) |
|
self.rpc = None |
|
self.running = False |
|
except Exception as e: |
|
print(f"Error: Unable to connect to Rich Presence. {e}") |
|
self.rpc = None |
|
self.running = False |
|
|
|
def update_presence(self): |
|
if self.rpc: |
|
self.rpc.update( |
|
state="applio.org", |
|
details="Ultimate voice cloning tool.", |
|
buttons=[ |
|
{"label": "Home", "url": "https://applio.org"}, |
|
{"label": "Download", "url": "https://applio.org/download"}, |
|
], |
|
large_image="logo", |
|
large_text="Experimenting with applio", |
|
start=dt.datetime.now().timestamp(), |
|
) |
|
|
|
def stop_presence(self): |
|
self.running = False |
|
if self.rpc: |
|
self.rpc.close() |
|
self.rpc = None |
|
|
|
|
|
RPCManager = RichPresenceManager() |
|
|