Пример #1
0
 public static void SetLiveView(DiscordRPC.Message.PresenceMessage msg)
 {
     App.WD.ViewLiveRPC.Dispatcher.BeginInvoke((Action) delegate()
     {
         App.WD.ViewLiveRPC.Content = new ViewRPC(msg);
     });
 }
Пример #2
0
 // Will be called if successfully connected and sent the presence payload
 private void ClientOnPresenceUpdate(object sender, DiscordRPC.Message.PresenceMessage args)
 {
     connectionState = 1;
     Invoke(new MethodInvoker(() => {
         textBoxID.BackColor             = System.Drawing.Color.FromArgb(192, 255, 192);
         toolStripStatusLabelStatus.Text = Strings.statusConnected;
     }));
 }
 private static void Client_OnPresenceUpdate(object sender, DiscordRPC.Message.PresenceMessage e)
 {
     if (!DisableLogging)
     {
         string output = string.Format("[Discord RPC] Received Update! {0}", e.Presence);
         System.Diagnostics.Debug.Print(output);
         ManiacEditor.Extensions.ConsoleExtensions.Print(output);
     }
 }
Пример #4
0
 private static void Client_OnPresenceUpdate(object sender, DiscordRPC.Message.PresenceMessage args)
 {
     if (FirstUpdate)
     {
         Log.Rpc($"Updated presence for {args.Name}");
         MainWindow.SetLiveView(args);
     }
     FirstUpdate = true;
 }
Пример #5
0
        private void Client_OnPresenceUpdate(object sender, DiscordRPC.Message.PresenceMessage args)
        {
            // call settext with false because we're setting many at once
            _currentPresence_Name.SetText(_client.CurrentPresence?.Details ?? "No presence set.", false);
            _currentPresence_State.SetText(_client.CurrentPresence?.State ?? "No state set.", false);
            _currentPresence_ArtworkLarge.SetText(_client.CurrentPresence?.Assets?.LargeImageKey ?? "No large artwork set.", false);
            _currentPresence_ArtworkSmall.SetText(_client.CurrentPresence?.Assets?.SmallImageKey ?? "No small artwork set.", false);
            _currentPresence_Timestamps.SetText(_client.CurrentPresence?.HasTimestamps() == true ? $"{_client.CurrentPresence.Timestamps.Start:F} - {_client.CurrentPresence.Timestamps.End:F}" : "No timestamps set.", false);

            Application.Refresh();
        }
Пример #6
0
 public ViewRPC(DiscordRPC.Message.PresenceMessage msg)
 {
     InitializeComponent();
     Title.Content = msg.Name;
     Text1.Content = msg.Presence.Details;
     Text2.Content = msg.Presence.State;
     if (msg.Presence.HasAssets())
     {
         if (!string.IsNullOrEmpty(msg.Presence.Assets.SmallImageKey))
         {
             BitmapImage Small = new BitmapImage(new Uri("https://cdn.discordapp.com/app-assets/" + msg.ApplicationID + "/" + msg.Presence.Assets.SmallImageID + ".png"));
             Small.DownloadFailed += Image_FailedLoading;
             SmallImage.Fill       = new ImageBrush(Small);
             if (!string.IsNullOrEmpty(msg.Presence.Assets.SmallImageText))
             {
                 SmallImage.ToolTip = new Button().Content = msg.Presence.Assets.SmallImageText;
             }
         }
         else
         {
             SmallImage.Fill      = null;
             SmallBack.Visibility = Visibility.Hidden;
         }
         if (!string.IsNullOrEmpty(msg.Presence.Assets.LargeImageKey))
         {
             LargeImage.Visibility = Visibility.Visible;
             BitmapImage Large = new BitmapImage(new Uri("https://cdn.discordapp.com/app-assets/" + msg.ApplicationID + "/" + msg.Presence.Assets.LargeImageID + ".png"));
             Large.DownloadFailed += Image_FailedLoading;
             LargeImage.Source     = Large;
             if (!string.IsNullOrEmpty(msg.Presence.Assets.LargeImageText))
             {
                 LargeImage.ToolTip = new Button().Content = msg.Presence.Assets.LargeImageText;
             }
         }
         else
         {
             LargeImage.Source = null;
         }
     }
 }
Пример #7
0
        /// <summary>
        /// Will be called if successfully connected and sent the presence payload.
        /// </summary>
        private void ClientOnPresenceUpdate(object sender, DiscordRPC.Message.PresenceMessage args)
        {
            var presence = client.CurrentPresence;

            ConnectionManager.State = ConnectionType.Connected;

            Invoke(new MethodInvoker(() =>
            {
                textBoxID.BackColor             = CurrentColors.BgTextFieldsSuccess;
                toolStripStatusLabelStatus.Text = Strings.statusConnected;
            }));

            // This only tracks whether or not the presence has those parameters set, not their content
            Analytics.TrackEvent("Updated presence", new Dictionary <string, string> {
                { "Party", presence.HasParty().ToString() },
                { "Timestamp", settings.timestamps.ToString() },
                { "Big image", presence.Assets.LargeImageID.HasValue.ToString() },
                { "Small image", presence.Assets.SmallImageID.HasValue.ToString() },
                { "Buttons", buttonsList.Count.ToString() }
            });

            restartTimer.Stop();
        }