/// <summary>
        /// Prepares the bridge to Discord
        /// </summary>
        private void Start()
        {
            // Get Discord instance if it is running
            // Catch the error if Discord was not detected
            try
            {
                _discord = new Discord.Discord(ApplicationId, (ulong)CreateFlags.NoRequireDiscord);
            }
            catch (ResultException)
            {
                return;
            }

            _activity = new Activity()
            {
                Name   = "Bestagon Defence",
                Assets = new ActivityAssets()
                {
                    SmallImage = "bestagon_logo_square_large",
                    SmallText  = "v" + Application.version
                }
            };

            _currentScene = SceneManager.GetActiveScene();

            // Assign all events for Rich Presence updates
            SceneManager.activeSceneChanged += OnSceneChange;
            GameStats.RoundProgress         += UpdateActivity;
            GameStats.GameOver += UpdateActivity;
        }
        public override void Init()
        {
            ConsoleSys = Sys.Ref.ConsoleSys;

            try
            {
                Client = new Discord.Discord(670224014903345182, (ulong)CreateFlags.NoRequireDiscord);

                var activity = new Activity
                {
                    State      = "Playing",
                    Details    = "Playing the game",
                    Timestamps = { Start = 0 },
                    Assets     = { LargeImage = "logo" },
                    Instance   = true,
                };

                Client.GetActivityManager().UpdateActivity(activity, (result) =>
                {
                    if (result == Result.Ok)
                    {
                        ConsoleSys.Message("Updated Discord presence.");
                    }
                    else
                    {
                        ConsoleSys.Message("Could not update Discord presence.");
                    }
                });
            }
            catch (Exception Exception)
            {
                ConsoleSys.Error("Failed to init Discord");
                ConsoleSys.Error(Exception.Message);
            }
        }
        public override void Entry(IModHelper helper)
        {
            if (Instance == null)
            {
                Instance = this;
            }
            else
            {
                return;
            }

            try { discord = new Discord.Discord(discordClientId, (ulong)CreateFlags.NoRequireDiscord); }
            catch (Discord.ResultException ex)
            {
                Monitor.Log($"Failed to init Discord SDK: {ex.Message}", StardewModdingAPI.LogLevel.Error);
                Monitor.Log("Please try restarting the game. If this keeps happening, please update StardewPresence.", StardewModdingAPI.LogLevel.Error);
            }

            activityManager = discord.GetActivityManager();
            activityManager.RegisterSteam(steamId);

            SPFunctions.StartTime = (int)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;

            RegisterEvents(helper);
        }
Exemple #4
0
    // Use this for initialization
    void Start()
    {
        World world = WorldController.Instance.world;

        world.RegisterCharacterCreatedCallback(this.characterCreated);
        try{
            this.discord = new Discord.Discord(this.discordId, (System.UInt64)Discord.CreateFlags.NoRequireDiscord);
        } catch (Discord.ResultException result) {
            Debug.LogError("Failed to initialise discord, " + result.ToString());
            return;
        }
        this.online    = true;
        this.startTime = (long)(DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalSeconds;
        var activityManager = discord.GetActivityManager();

        activityManager.UpdateActivity(this.generateActivity(), (res) => {
            if (res == Discord.Result.Ok)
            {
                Debug.Log("Updated discord activity.");
            }
            else
            {
                this.online = false;
                Debug.LogError("Discord failed to update activity, " + res);
            }
        });
    }
        public static void ChangeAppID(long newAppId)
        {
            if ((newAppId < 0 ? DefaultAppID : newAppId) != CurrentAppID)
            {
                try
                {
                    if (_discordClient != null)
                    {
                        DisposeClient(_discordClient);
                        _discordClient = null;
                    }

                    _discordClient = CreateClient(newAppId);
                    CurrentAppID   = newAppId;

                    var newActManager = _discordClient.GetActivityManager();
                    LinkActivityEvents(newActManager);
                    newActManager.RegisterSteam(620980);
                    Enabled = true;
                    DiscordManager.active = true;
                }
                catch (ResultException __)
                {
                    _ = __;
                    Disable(true);
                    throw;
                }
            }
        }
        /// <summary>
        /// If not already enabled, creates a new DiscordClient. Disposes of the old one if it exists.
        /// </summary>
        /// <exception cref="ResultException"></exception>
        internal static void Enable()
        {
            if (Enabled)
            {
                return;
            }
            if (_discordClient != null)
            {
                DisposeClient(_discordClient);
                _discordClient = null;
            }
            CurrentAppID = _appIdWhenDisabled < 0 ? DefaultAppID : _appIdWhenDisabled;
            try
            {
                _discordClient = CreateClient(CurrentAppID);

                var newActManager = _discordClient.GetActivityManager();
                LinkActivityEvents(newActManager);
                newActManager.RegisterSteam(620980);
            }
            catch
            {
                Disable(true);
                throw;
            }
            Enabled = true;
            DiscordManager.active             = true;
            DiscordManager.deactivationReason = string.Empty;
            Plugin.log.Info($"DiscordClient enabled.");
        }
        internal static void Load()
        {
            Log.Info("HSDiscordRP: Main.Load() starting...");

            // Use your client ID from Discord's developer site.
            //var clientID = Environment.GetEnvironmentVariable("DISCORD_CLIENT_ID");
            //if (clientID == null)
            //{
            var clientID = "841234753679130624";

            //}
            discord             = new Discord.Discord(Int64.Parse(clientID), (UInt64)CreateFlags.Default);
            isDiscordInstanceUp = true;

            discord.SetLogHook(LogLevel.Debug, (level, message) =>
            {
                Log.Info("HSDTDiscordRP from Discord, level: " + level, ": " + message);
            });

            ClearPresence();

            Log.Info("HSDiscordRP: Finished loading. Calling first HandleUpdate()...");

            HandleUpdate();
        }
 // Start is called before the first frame update
 private void Start()
 {
     if (Settings.Instance.DiscordRPCEnabled == false)
     {
         return;
     }
     try
     {
         if (long.TryParse(clientIDTextAsset.text, out long discordClientID) && Application.internetReachability != NetworkReachability.NotReachable)
         {
             discord         = new Discord.Discord(discordClientID, (ulong)CreateFlags.NoRequireDiscord);
             activityManager = discord.GetActivityManager();
             activityManager.ClearActivity((res) => { });
             SceneManager.activeSceneChanged    += SceneUpdated;
             LoadInitialMap.PlatformLoadedEvent += LoadPlatform;
         }
         else
         {
             HandleException("No internet connection, or invalid Client ID.");
         }
     }catch (ResultException result)
     {
         HandleException($"{result.Message} (Perhaps Discord is not open?)");
     }
 }
Exemple #9
0
    // Use this for initialization
    void Start()
    {
        discord = new Discord.Discord(669298461312679966, (System.UInt64)Discord.CreateFlags.NoRequireDiscord);
        var activityManager = discord.GetActivityManager();

        activityManager.RegisterSteam(1229730);


        var activity = new Discord.Activity
        {
            State      = "Points: " + GameControlScript.AchievementPointsATM.ToString(),
            Details    = "Total Clicks: " + GameControlScript.AchievementClicks.ToString(),
            Timestamps =
            {
                Start = CurrentTime,
            },
            Assets =
            {
                LargeImage = "puchar",                 // Larger Image Asset Key
                LargeText  = "Achievement Clicker",    // Large Image Tooltip
            },
        };

        activityManager.UpdateActivity(activity, (res) =>
        {
            if (res == Discord.Result.Ok)
            {
                Debug.LogError("Everything is fine!");
            }
        });
    }
Exemple #10
0
    private void Start()
    {
        discord = new Discord.Discord(756805917944578112, (UInt64)Discord.CreateFlags.Default);
        var    now               = DateTime.Now.ToLocalTime();
        var    span              = (now - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime());
        var    activityManager   = discord.GetActivityManager();
        string DiscordRichDetail = "waiting";
        var    activity          = new Discord.Activity
        {
            State      = "Into the Deeper world",
            Details    = DiscordRichDetail,
            Timestamps =
            {
                Start = (int)span.TotalSeconds
            },
            Assets =
            {
                LargeImage = "logo",
                LargeText  = null,
                SmallImage = "teamif",
                SmallText  = null,
            },
        };

        activityManager.UpdateActivity(activity, (result) =>
        {
            if (result == Discord.Result.Ok)
            {
                Debug.LogError("Everything is fine!");
            }
        });
    }
 private void OnRequestUse()
 {
     MasterDiscord         = new D.Discord(token, 0);
     MasterActivityManager = MasterDiscord.GetActivityManager();
     MasterDiscord.SetLogHook(LogLevel.Error, LogErrors);
     MasterMiscController.ApplicationQuitRequest += OnShutdown;
 }
        public DiscordComponent(LiveSplitState state)
        {
            try
            {
                discord         = new Discord.Discord(763054362107838504, (UInt64)CreateFlags.Default);
                activityManager = discord.GetActivityManager();
                Initialized     = true;
            }
            catch
            {
                MessageBox.Show("Something went wrong when initializing Discord. Make sure the client is open!" + Environment.NewLine + "LiveSplit will continue running as normal.");
                Initialized = false;
            }
            State    = state;
            Settings = new DiscordSettings()
            {
                CurrentState = State
            };

            DeltaFormatter           = new DiscordComponentDeltaFormatter(Settings.Accuracy, Settings.DropDecimals);
            TimeFormatter            = new DiscordComponentTimeFormatter(TimeAccuracy.Seconds);
            state.ComparisonRenamed += state_ComparisonRenamed;

            ComparisonDict = new Dictionary <string, string>()
            {
                { "%delta_pb", "Personal Best" },
                { "%delta_bst", BestSplitTimesComparisonGenerator.ComparisonName },
                { "%delta_best", BestSegmentsComparisonGenerator.ComparisonName },
                { "%delta_avg", AverageSegmentsComparisonGenerator.ComparisonName },
                { "%delta_med", MedianSegmentsComparisonGenerator.ComparisonName },
                { "%delta_worst", WorstSegmentsComparisonGenerator.ComparisonName },
                { "%delta_bal", PercentileComparisonGenerator.ComparisonName },
                { "%delta_latest", LatestRunComparisonGenerator.ComparisonName }
            };
        }
Exemple #13
0
 private static void Shutdown()
 {
     if (_client != null)
     {
         _client.Dispose();
         _client = null;
     }
 }
        public void changeClientTarget(string cID)   // Only used for testing multiple clients on a single computer
        {
            System.Environment.SetEnvironmentVariable("DISCORD_INSTANCE_ID", cID);
            discord = new Discord.Discord(applicationID, (UInt64)Discord.CreateFlags.Default);

            userManager = discord.GetUserManager();
            userManager.OnCurrentUserUpdate += currentUserUpdate;
            discord.RunCallbacks();
        }
        // Use this for initialization
        void Start()
        {
            Environment.SetEnvironmentVariable("DISCORD_INSTANCE_ID", instanceId.ToString());
            discord = new Discord.Discord(759008389677580308, (UInt64)CreateFlags.Default);

            discord.SetLogHook(LogLevel.Info, LogDiscord);

            onCreated?.Invoke(discord);
        }
Exemple #16
0
 private void Start()
 {
     // Create a new discord setup
     discord = new Discord.Discord(ClientID, (System.UInt64)Discord.CreateFlags.NoRequireDiscord);
     // Set the activity manager
     activityManager = discord.GetActivityManager();
     // Invoke activity updates
     InvokeRepeating("UpdateActivity", 0.0f, 5.0f);
 }
Exemple #17
0
    // Update user's activity for your game.
    // Party and secrets are vital.
    // Read https://discordapp.com/developers/docs/rich-presence/how-to for more details.
    static void UpdateActivity(Discord.Discord discord, Discord.Lobby lobby)
    {
        var activityManager = discord.GetActivityManager();
        var lobbyManager    = discord.GetLobbyManager();

        var activity = new Discord.Activity
        {
            State      = "olleh",
            Details    = "foo details",
            Timestamps =
            {
                Start = 5,
                End   = 6,
            },
            Assets =
            {
                LargeImage = "foo largeImageKey",
                LargeText  = "foo largeImageText",
                SmallImage = "foo smallImageKey",
                SmallText  = "foo smallImageText",
            },
            Party =
            {
                Id   = lobby.Id.ToString(),
                Size =
                {
                    CurrentSize = lobbyManager.MemberCount(lobby.Id),
                    MaxSize     = (int)lobby.Capacity,
                },
            },
            Secrets =
            {
                Join = lobbyManager.GetLobbyActivitySecret(lobby.Id),
            },
            Instance = true,
        };

        activityManager.UpdateActivity(activity, result =>
        {
            Console.WriteLine("Update Activity {0}", result);

            // Send an invite to another user for this activity.
            // Receiver should see an invite in their DM.
            // Use a relationship user's ID for this.
            // activityManager
            //   .SendInvite(
            //       364843917537050624,
            //       Discord.ActivityActionType.Join,
            //       "",
            //       inviteResult =>
            //       {
            //           Console.WriteLine("Invite {0}", inviteResult);
            //       }
            //   );
        });
    }
Exemple #18
0
 void Awake()
 {
     if (platformCompat())
     {
         discord = new Discord.Discord(836600860976349192, (UInt64)Discord.CreateFlags.Default);
     }
     Application.targetFrameRate = Screen.currentResolution.refreshRate * 4;
     alreadystarted = true;
     instance       = this;
 }
 public void Refresh(ref Relationship relationship, Discord.Discord discord)
 {
     _discord = discord;
     _current = relationship;
     if (_imageManager == null)
     {
         _imageManager = discord.GetImageManager();
     }
     Refresh();
 }
Exemple #20
0
 public static void Initialise(long clientId)
 {
     discord = new Discord.Discord(clientId, 0);
     discord.GetActivityManager().RegisterSteam(823500);
     discord.GetActivityManager().UpdateActivity(new Activity()
     {
         Details = "Idle"
     }, ActivityUpdateHandler);
     discord.GetActivityManager().OnActivityJoin += RichPresence_OnActivityJoin;
 }
Exemple #21
0
 public DiscordPinger()
 {
     try
     {
         _instance = new Discord.Discord(715912345800409138, (ulong)CreateFlags.Default);
     }
     catch
     {
     }
 }
 public static void Initialise(long clientId)
 {
     MelonModLogger.Log("Initalizing Discord RPC...");
     discord = new Discord.Discord(clientId, 0);
     discord.GetActivityManager().RegisterSteam(823500);
     discord.GetActivityManager().UpdateActivity(new Activity()
     {
         Details = "Idle", Assets = { LargeImage = "jobsim" }
     }, ActivityUpdateHandler);
     discord.GetActivityManager().OnActivityJoin += RichPresence_OnActivityJoin;
 }
    public void Start()
    {
        const long ClientID = 682703198330421250;

        thisDiscord     = new Discord.Discord(ClientID, (System.UInt64)Discord.CreateFlags.Default);
        userManager     = thisDiscord.GetUserManager();
        activityManager = thisDiscord.GetActivityManager();
        appManager      = thisDiscord.GetApplicationManager();

        UpdateActivity();
    }
Exemple #24
0
    private void OnDisable()
    {
        SceneManager.sceneLoaded -= OnSceneLoaded;

        if (discord != null)
        {
            Debug.Log("Discord shutting down");
            discord.Dispose();
            discord = null;
        }
    }
Exemple #25
0
    private void Start()
    {
        discord      = new Discord.Discord(837028487201554483, (ulong)CreateFlags.NoRequireDiscord);
        sliderScript = GameObject.Find("LoadingPercentText").transform.parent.GetComponentInChildren <LoadingBarUpdateTextScript>();
        StartCoroutine(TimeDiscordNotif());
        sliderScript.UpdateLoadValue(0.05f);
        UserManager userManager = discord.GetUserManager();

        sliderScript.UpdateLoadValue(0.05f);
        StartUsernameFetch(userManager);
    }
Exemple #26
0
        public ActivityService(
            ILogger <ActivityService> logger,
            IOptions <DiscordOptions> options,
            Discord.Discord discord)
        {
            _logger  = logger;
            _options = options;
            _discord = discord;

            _startTime = DateTimeOffset.Now.ToUnixTimeSeconds();
        }
Exemple #27
0
 public static void RunCallbacks()
 {
     try
     {
         GetOrCreateDiscord().RunCallbacks();
     }
     catch
     {
         discord = null;
         return;
     }
 }
Exemple #28
0
		/// <summary>
		/// Try to setup Discord.
		/// </summary>
		public void SetupDiscord()
		{
			try
			{
				DiscordInstance = new Discord.Discord(CLIENT_ID, (ulong)CreateFlags.NoRequireDiscord);
				ActivityManager = DiscordInstance.GetActivityManager();
			}
			catch (Exception exception)
			{
				Debug.LogWarning("Failed to setup Discord: " + exception.Message);
			}
		}
Exemple #29
0
    // Start is called before the first frame update
    void Start()
    {
        System.Environment.SetEnvironmentVariable("DISCORD_INSTANCE_ID", "0");
        //var discord0 = new Discord.Discord(ApplicationId, (System.UInt64)Discord.CreateFlags.Default);

        //// This makes the SDK connect to PTB
#if UNITY_EDITOR
        System.Environment.SetEnvironmentVariable("DISCORD_INSTANCE_ID", "1");
        //var discord1 = new Discord.Discord(ApplicationId, (System.UInt64)Discord.CreateFlags.Default);
#endif

        discord = new Discord.Discord(ApplicationId, (System.UInt64)Discord.CreateFlags.Default);
    }
        public void InitialiseDiscord()
        {
#if !CONSOLE
            //Check if discord is installed and running
            Process[] discordProcessesRunning = Process.GetProcessesByName("discord");
            if (discordProcessesRunning.Length != 0)
            {
                IsDiscordAvailable = true;
                Logger.info(1, "Discord is installed! Setting up Discord hooks...");
            }
            else
            {
                Logger.info(1, "Discord is not installed, or is not runnning! (DISCORD_NOT_FOUND)");
            }
            //TODO: Check application signatures

            IsDiscordAvailable = true;
            if (IsDiscordAvailable)
            {
                try
                {
                    startTime   = Time.UnixEpoch;
                    DiscordHook = new Discord.Discord(629419523879206954, (ulong)CreateFlags.NoRequireDiscord);

                    //Attach a logger into discord
                    DiscordHook.SetLogHook(LogLevel.Info, (level, message) =>
                    {
                        switch (level)
                        {
                        case LogLevel.Info:
                            Logger.info(1, message);
                            break;

                        case LogLevel.Warn:
                            Logger.warn(1, message);
                            break;

                        case LogLevel.Error:
                            Logger.error(1, message);
                            break;
                        }
                    });
                }
                catch
                {
                    IsDiscordAvailable = false;
                    Logger.info(1, "Discord is not installed, or is not runnning! (DISCORD_NOT_FOUND)");
                }
            }
#endif
        }