private void OnConnectionFailed(object sender, ConnectionFailedMessage args) { MessageBox.Show("Connection to Discord has failed. Check if your Discord client is running.", "Connection Error", MessageBoxButton.OK, MessageBoxImage.Warning); UpdateMainWindowViewModel.UpdateDiscordRPCConnectionStatus((string)Application.Current.FindResource("mw_status_on_connection_failed")); UpdateMainWindowViewModel.UpdateUserStatus((string)Application.Current.FindResource("mw_label_status_placeholder_waiting")); }
public void ShutdownPresence() { UpdateMainWindowViewModel.UpdateDiscordRPCConnectionStatus(string.Empty); UpdateMainWindowViewModel.UpdateUsernameData(string.Empty); UpdateMainWindowViewModel.UpdateUserAvatarData(string.Empty); UpdateMainWindowViewModel.UpdateUserStatus((string)Application.Current.FindResource("mw_label_status_placeholder")); client.Dispose(); discordPresenceDetail = string.Empty; discordPresenceState = string.Empty; discordLargeImageKey = string.Empty; discordLargeImageText = string.Empty; discordSmallImageKey = string.Empty; discordSmallImageText = string.Empty; }
private void updatePresence() { #if DEBUG Debug.WriteLine(TAG + "Details: " + TextBox_details.Text); Debug.WriteLine(TAG + "State: " + TextBox_state.Text); Debug.WriteLine(TAG + "LargeImageKey: " + TextBox_largeImageKey.Text); Debug.WriteLine(TAG + "LargeImageText: " + TextBox_largeImageText.Text); Debug.WriteLine(TAG + "SmallImageKey: " + TextBox_smallImageKey.Text); Debug.WriteLine(TAG + "SmallImageText: " + TextBox_smallImageText.Text); Debug.WriteLine(TAG + "Updated presence and settings"); #endif UpdateMainWindowViewModel.UpdateUserStatus((string)Application.Current.FindResource("mw_label_status_placeholder_online")); // Show MessageBox to notify user Spotify client is running if (getSpotifyProcess.IsSpotifyOpened) { MessageBox.Show((string)Application.Current.FindResource("app_info_spotify_process_detected"), Assembly.GetExecutingAssembly().GetCustomAttribute <AssemblyTitleAttribute>().Title, MessageBoxButton.OK, MessageBoxImage.Exclamation); } if (!isTimeStampEnabled) { presenceManager.useTimeStamp = isTimeStampEnabled; presenceManager.discordPresenceDetail = this.TextBox_details.Text; presenceManager.discordPresenceState = this.TextBox_state.Text; presenceManager.discordLargeImageKey = this.TextBox_largeImageKey.Text; presenceManager.discordLargeImageText = this.TextBox_largeImageText.Text; presenceManager.discordSmallImageKey = this.TextBox_smallImageKey.Text; presenceManager.discordSmallImageText = this.TextBox_smallImageText.Text; presenceManager.UpdatePresence(); } else { presenceManager.useTimeStamp = isTimeStampEnabled; presenceManager.discordPresenceDetail = this.TextBox_details.Text; presenceManager.discordPresenceState = this.TextBox_state.Text; presenceManager.discordLargeImageKey = this.TextBox_largeImageKey.Text; presenceManager.discordLargeImageText = this.TextBox_largeImageText.Text; presenceManager.discordSmallImageKey = this.TextBox_smallImageKey.Text; presenceManager.discordSmallImageText = this.TextBox_smallImageText.Text; presenceManager.UpdatePresence(); } SaveUserStatePresence(); }
public void InitializeDiscordRPC(string ClientID) { #if DEBUG Debug.WriteLine(TAG + "Starting Discord Presence"); #else #endif UpdateMainWindowViewModel.UpdateDiscordRPCConnectionStatus((string)Application.Current.FindResource("mw_status_start")); UpdateMainWindowViewModel.UpdateUserStatus((string)Application.Current.FindResource("mw_label_status_placeholder_waiting")); StartTimeOutTimer(); client = new DiscordRpcClient(ClientID); client.Initialize(); client.OnReady += OnClientReady; client.OnConnectionEstablished += OnConnectionEstablished; }
private void OnClientReady(object sender, ReadyMessage args) { TimeOutTimer.Stop(); TimeOutTimer.Dispose(); #if DEBUG Debug.WriteLine("Received Ready from user {0}", args.User); #else #endif JsonConfig.settings.discordUsername = args.User.ToString(); JsonConfig.settings.discordAvatarSmall = args.User.GetAvatarURL(User.AvatarFormat.PNG, User.AvatarSize.x128); JsonConfig.settings.discordAvatarMedium = args.User.GetAvatarURL(User.AvatarFormat.PNG, User.AvatarSize.x512); JsonConfig.settings.discordAvatarLarge = args.User.GetAvatarURL(User.AvatarFormat.PNG, User.AvatarSize.x1024); JsonConfig.SaveJson(); UpdateMainWindowViewModel.UpdateDiscordRPCConnectionStatus((string)Application.Current.FindResource("mw_status_online")); UpdateMainWindowViewModel.UpdateUserAvatarData(args.User.GetAvatarURL(User.AvatarFormat.PNG, User.AvatarSize.x128)); UpdateMainWindowViewModel.UpdateUsernameData(args.User.ToString()); UpdateMainWindowViewModel.UpdateUserStatus((string)Application.Current.FindResource("mw_label_status_placeholder_online")); }
private void StartAFK() { PresenceManager presenceManager = new PresenceManager(); presenceManager.useTimeStamp = true; presenceManager.discordPresenceDetail = JsonConfig.settings.discordUsername; presenceManager.discordPresenceState = (string)Application.Current.FindResource("discord_status_afk"); presenceManager.discordLargeImageKey = JsonConfig.settings.discordLargeImageKey; presenceManager.discordLargeImageText = JsonConfig.settings.discordLargeImageText; presenceManager.discordSmallImageKey = JsonConfig.settings.discordSmallImageText; presenceManager.discordSmallImageText = JsonConfig.settings.discordSmallImageText; presenceManager.UpdatePresence(); UpdateMainWindowViewModel.UpdateUserStatus("AFK (" + (string)Application.Current.FindResource("mw_label_status_placeholder_afk") + " " + DateTime.Now + ")"); Process.Start(@"C:\WINDOWS\system32\rundll32.exe", "user32.dll,LockWorkStation"); this.Dispatcher.Invoke((Action)(() => { this.Close(); })); }