diff --git a/src-tauri/src/discord.rs b/src-tauri/src/discord.rs index ab72911e..8750dd81 100644 --- a/src-tauri/src/discord.rs +++ b/src-tauri/src/discord.rs @@ -9,6 +9,7 @@ use tauri::async_runtime::block_on; pub fn initialize_drpc() -> () { std::thread::spawn(move || { + #[allow(unused_assignments)] let mut connected = false; let mut client = DiscordIpcClient::new("1057922416166305852").unwrap(); match client.connect() { @@ -121,7 +122,20 @@ pub fn initialize_drpc() -> () { .small_text(players.as_str()), ) .timestamps(timestamp.clone().start(start_time.try_into().unwrap())); - client.set_activity(activity).unwrap(); + + match client.set_activity(activity) { + Ok(_) => {} + Err(_) => { + match client.reconnect() { + Ok(_) => { + connected = true; + } + Err(_) => { + connected = false; + } + }; + } + }; } else { if in_game { in_game = false; @@ -138,7 +152,20 @@ pub fn initialize_drpc() -> () { .large_text("Idle"), ) .timestamps(timestamp.clone().start(start_time.try_into().unwrap())); - client.set_activity(activity).unwrap(); + + match client.set_activity(activity) { + Ok(_) => {} + Err(_) => { + match client.reconnect() { + Ok(_) => { + connected = true; + } + Err(_) => { + connected = false; + } + }; + } + }; } std::thread::sleep(std::time::Duration::from_millis(1000));