fix not being able to be disable discord RPC

This commit is contained in:
csd4ni3l
2025-04-23 10:07:45 +02:00
parent bffada58a0
commit ccef4b7a8e

View File

@@ -1,4 +1,4 @@
import arcade, arcade.gui, asyncio, pypresence, time, json
import arcade, arcade.gui, asyncio, pypresence, time, json, copy
from utils.preload import button_texture, button_hovered_texture, theme_sound
from utils.constants import button_style
from utils.utils import FakePyPresence
@@ -12,29 +12,39 @@ class Main(arcade.gui.UIView):
self.pypresence_client = pypresence_client
if self.pypresence_client == None: # Game has started
try:
asyncio.get_event_loop()
except:
asyncio.set_event_loop(asyncio.new_event_loop())
try:
self.pypresence_client = pypresence.Presence(1363780625928028200)
self.pypresence_client.connect()
self.pypresence_client.start_time = time.time()
except:
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = time.time()
with open("settings.json", "r") as file:
self.settings_dict = json.load(file)
elif isinstance(self.pypresence_client, FakePyPresence):
# get start time from old object
start_time = copy.deepcopy(self.pypresence_client.start_time)
try:
self.pypresence_client = pypresence.Presence(1363780625928028200)
self.pypresence_client.connect()
self.pypresence_client.start_time = start_time
except:
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = start_time
if self.settings_dict.get('discord_rpc', True):
if self.pypresence_client == None: # Game has started
try:
asyncio.get_event_loop()
except:
asyncio.set_event_loop(asyncio.new_event_loop())
try:
self.pypresence_client = pypresence.Presence(1363780625928028200)
self.pypresence_client.connect()
self.pypresence_client.start_time = time.time()
except:
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = time.time()
elif isinstance(self.pypresence_client, FakePyPresence): # the user has enabled RPC in the settings in this session.
# get start time from old object
start_time = copy.deepcopy(self.pypresence_client.start_time)
try:
self.pypresence_client = pypresence.Presence(1363780625928028200)
self.pypresence_client.connect()
self.pypresence_client.start_time = start_time
except:
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = start_time
self.pypresence_client.update(state='In Menu',
details=f'In Main Menu', start=self.pypresence_client.start_time)
else: # game has started, but the user has disabled RPC in the settings.
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = time.time()
self.pypresence_client.update(state='In Menu', details='In Main Menu', start=self.pypresence_client.start_time)