Exemple #1
0
        public void SetPresence(string gameName)
        {
            if (!IsPresenceEnabled)
            {
                return;
            }

            try
            {
                if (!isConnected && !isConnecting)
                {
                    InitializeDiscord();
                }

                var pres = discord.CurrentPresence;

                discord.SetPresence(new DiscordRPC.RichPresence
                {
                    Details = gameName,
                    Assets  = new DiscordRPC.Assets
                    {
                        LargeImageKey  = "playnite-avatar",
                        LargeImageText = "Playnite game library manager."
                    }
                });
            }
            catch (Exception e) when(!PlayniteEnvironment.ThrowAllErrors)
            {
                logger.Error(e, "Failed to set Discord presence");
            }
        }
Exemple #2
0
 public static void SetDiscordRPCStatus(string details)
 {
     if (DiscordRPCEnabled == true)
     {
         try
         {
             if (client != null)
             {
                 client.SetPresence(new DiscordRPC.RichPresence()
                 {
                     Details    = details,
                     Timestamps = new DiscordRPC.Timestamps()
                     {
                         Start = DateTime.UtcNow
                     },
                     Assets = new DiscordRPC.Assets()
                     {
                         LargeImageKey = "bigwk", LargeImageText = "WolvenKit",
                     }
                 });
                 client.Invoke();
             }
         }
         catch { }
     }
 }
Exemple #3
0
        public static void SetRPC()
        {
            var settings = SettingsManager.Load();

            if (settings.DiscordRPC)
            {
                RPCClient.SetPresence(RichPresence);
            }
        }
 private void RpcTimer_Tick(object sender, EventArgs e)
 {
     if (staticMC != null)
     {
         if (Data._usingRichPresence)
         {
             // Do rich presence update.
             DiscordRPC.DiscordRpcClient rpc = Data.rpccli;
             string serv = "Details hidden.";
             if (Data._showServerIP)
             {
                 serv = currentServer;
                 if (string.IsNullOrEmpty(serv))
                 {
                     serv = "Not playing on any servers.";
                 }
             }
             if (Data._showPartyInfo)
             {
                 if (Data._showServerIP)
                 {
                     serv += "\n" + Data.party.GetPartyString();
                 }
                 else
                 {
                     serv = Data.party.GetPartyString();
                 }
             }
             string state = "Playing Minecraft.";
             if (Data._showUsername)
             {
                 state = "Playing as " + Data.username;
             }
             string smallImageText = "Playing Minecraft";
             if (Data._showGamePlaying)
             {
                 smallImageText += " - " + Data.game.ToString();
             }
             rpc.SetPresence(new DiscordRPC.RichPresence()
             {
                 State   = state,
                 Details = serv,
                 Assets  = new DiscordRPC.Assets()
                 {
                     LargeImageKey  = "logo",
                     LargeImageText = "MarsClient",
                     SmallImageKey  = "mc_png",
                     SmallImageText = smallImageText
                 }
             });
         }
     }
 }
Exemple #5
0
        public void InitDiscordRPC()
        {
            client = new DiscordRPC.DiscordRpcClient("807752124078620732");

            //Set the logger
            client.Logger = new DiscordRPC.Logging.ConsoleLogger()
            {
                Level = DiscordRPC.Logging.LogLevel.Warning
            };

            //Subscribe to events
            client.OnReady += (sender, e) =>
            {
                Console.WriteLine("Received Ready from user {0}", e.User.Username);
            };

            client.OnPresenceUpdate += (sender, e) =>
            {
                Console.WriteLine("Received Update! {0}", e.Presence);
            };

            //Connect to the RPC
            client.Initialize();

            //Set the rich presence
            //Call this as many times as you want and anywhere in your code.
            client.SetPresence(new DiscordRPC.RichPresence()
            {
                Details = "Launching",

                Assets = new DiscordRPC.Assets()
                {
                    LargeImageKey  = "bigwolf",
                    LargeImageText = "Testing",
                    SmallImageKey  = "bigwolf"
                }
            });
            client.Invoke();
        }
Exemple #6
0
        private void updateStatus()
        {
            string url = "http://api.paladinspresence.com/" + playerId;
            var    wc  = new WebClient {
                Proxy = null
            };
            var    resp = wc.DownloadString(url);
            JToken json = JValue.Parse(resp);

            client.SetPresence(new DiscordRPC.RichPresence()
            {
                Details = json.SelectToken("rich").SelectToken("details").ToString(),
                State   = json.SelectToken("rich").SelectToken("state").ToString(),

                Assets = new DiscordRPC.Assets()
                {
                    LargeImageKey  = json.SelectToken("rich").SelectToken("large_image_key").ToString(),
                    LargeImageText = json.SelectToken("rich").SelectToken("large_image_text").ToString(),
                    SmallImageKey  = json.SelectToken("rich").SelectToken("small_image_key").ToString(),
                    SmallImageText = json.SelectToken("rich").SelectToken("small_image_text").ToString()
                }
            });
        }