Lachee / discord-rpc-csharp

C# custom implementation for Discord Rich Presence. Not deprecated and still available!
MIT License
560 stars 93 forks source link

[BUG] Initializing doesn't initialize client #197

Open Nanolocity opened 1 year ago

Nanolocity commented 1 year ago

My program de-initializes the client if a certain function is started and then initializes it again if it knows that it's uninitialized and it needs it to be active but it doesn't re-initialize itself.

To Reproduce Steps to reproduce the behavior:

  1. De-initialize client
  2. Wait a few seconds(until the presence is gone from the user's profile)
  3. Try to initialize client
  4. There aren't any errors, Rich Presence doesn't appear on user's profile.

Expected behavior Client gets re-initialized after being de-initialized a few seconds prior due to a setting in the program being changed.

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

Logs

No errors, warning, info, nothing even with level set to info

Code

if (json.DRPMode == false && client.IsInitialized)
            {
                Trace.WriteLine("killed client");
                client.ClearPresence();
                client.Deinitialize();
            }
            else if (json.DRPMode == true && !client.IsInitialized)
            client.Initialize();

I checked if it returns true or false and it managed to send a message in console when DRPMode was changed to true so it's not about the program not being able to read the DRPMode checkbox's state.

Lachee commented 1 year ago

Initialize will start the presence, but you will need to call SetPresence to actually set it. If that still doesnt work ensure the Game ACtivity is enabled in your discord client.

Nanolocity commented 1 year ago

Initialize will start the presence, but you will need to call SetPresence to actually set it. If that still doesnt work ensure the Game ACtivity is enabled in your discord client.

I have a function that automatically sets the presence every second, the only check it does before it does so is if the client is initialized or not.

Nanolocity commented 1 year ago

Also the GameActivity feature is turned on within Discord as the activity appears if I launch the application again without de-initializing the client

Nanolocity commented 1 year ago

I checked it and it's trying to update the presence, it's not throwing any errors but the Rich Presence/Game Activity isn't active on my profile either

Nanolocity commented 1 year ago

Alright then, the issue is clear; initializing the client after it's been de-initialized just doesn't work OR it might be something else, if you know a solution please help @Lachee