Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more options for DiscordRPC #4014

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

norowachi
Copy link

@norowachi norowachi commented Sep 15, 2024

added more custom options & settings to the discordrpc
user can now customize

  • app name (Playing xxx), by providing a custom discord app id instead of HGL's, falls back to HGL's if none provided
  • activity title and state, now removable (empty string) and if undefined falls back to old ones
    and added title & state variables, {game} for game name & {platform} for platform/os name

hope i didn't miss/error in something, and always up for suggestions.

p.s. didn't do anything for images as they're already customizable enough :D
altho i do recommend making the small icon an image link instead of relying on discord's app assets, that is in case you think HGL would need more visibility with custom apps


Use the following Checklist if you have changed something on the Backend or Frontend:

  • Tested the feature and it's working on a current and clean install.
  • Tested the main App features and they are still working on a current and clean install. (Login, Install, Play, Uninstall, Move games, etc.)
  • Created / Updated Tests (If necessary)
  • Created / Updated documentation (If necessary)

@flavioislima
Copy link
Member

flavioislima commented Sep 15, 2024

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@norowachi
Copy link
Author

I have read the CLA Document and I hereby sign the CLA

@norowachi
Copy link
Author

also a heads up, CLA link in CONTRIBUTING.md is invalid

@flavioislima
Copy link
Member

also a heads up, CLA link in CONTRIBUTING.md is invalid

ok, will check it out

Copy link
Collaborator

@CommandMC CommandMC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit torn on this, do people really need this much control over their Discord Rich Presence? How many people are going to go into this & customize it?

src/common/types.ts Outdated Show resolved Hide resolved
@norowachi
Copy link
Author

norowachi commented Nov 4, 2024

honestly I think the application id was reaching too far, but I can see myself and many others editing the states and details format, not required obviously but nicer to have.

@norowachi norowachi requested a review from CommandMC November 5, 2024 09:34
@Arcitec
Copy link

Arcitec commented Nov 15, 2024

  • Being able to change the format of the app description in Discord RPC is a nice change. :) Non-nerdy users could then remove the "on Linux" etc to get a cleaner status format.
  • Setting application ID is not useful at all in the current implementation, because it's a single, global setting active for every game, so if you change the ID to impersonate "Apex Legends" for example, then Discord would show you as "Playing Apex Legends: Playing Minecraft via Heroic on Linux" if you play another game, heh.
  • Application ID could be useful if it was an advanced per-game setting instead. But even then, there's another problem: By impersonating the app, what will happen if the game we launch actually supports Discord RPC too and tries to use the same ID? Most likely the game would take precedence since it runs later, but who knows, since the Heroic RPC socket stays open as long as the game is running (if I remember right, didn't check again). And if a game has a registered Application ID, then the game itself supports Discord RPC.
  • So the ability to impersonate app IDs should definitely be removed.
  • I would rather recommend working on wine RPC integration. There are two or three different projects that hook the discord DLL and redirect them to the Unix socket instead. If the best one (whichever it is) is integrated into your game's Wine prefix, you'll get automatic Discord RPC connections from your Windows games, with actual game names and proper game-specific status. Which needless to say is a lot better than faking it.
  • This would allow us to have integration without needing this rejected Legendary PR at all.

Edit, I barely did a search so there may be others too, but here are the bridges I found:

@norowachi
Copy link
Author

norowachi commented Nov 18, 2024

The AppId isn't there to impersonate the game (too inefficient) as much as it's there to just customize and choose your own name/image handles, keeping things consistent if you already have a separate RPC client but want heroic's game info, and so at least in the current implementation.

And I've thought about the RPC integration but it proved to be way outside of just heroic's space so not much was done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants