diff --git a/menus/main.py b/menus/main.py index e79e1e3..181d293 100644 --- a/menus/main.py +++ b/menus/main.py @@ -1,4 +1,4 @@ -import arcade, arcade.gui, asyncio, pypresence, time +import arcade, arcade.gui, asyncio, pypresence, time, copy, json from utils.preload import button_texture, button_hovered_texture 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(1360953272843632680) - 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(1360953272843632680) - 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)