V3L0C1T13S / reflectcord

REST and Websocket compatibility layer for Discord->Revolt
GNU Affero General Public License v3.0
45 stars 2 forks source link

[Feature] Discord Rich presence #39

Open ShadowLp174 opened 1 year ago

ShadowLp174 commented 1 year ago

Is your feature request related to a problem? Please describe. It would be cool if every game supporting discord rich presence would be caught by reflectcord and somehow displayed on revolt.

I am not sure if the website is able to detect dc rich presence so it might need an extra module (if it doesn't bother you too much)

Describe the solution you'd like Discord rich presence is caught and the current activity is displayed in the revolt status message/and or in a special section in the revolt profile. In the profile it'd say something like

----------Rich Presence-------------
Playing: <name>
<description>

Started: <time>
--------Rich Presence End----------

This is just an example of course.

Describe alternatives you've considered There are no alternatives other than typing the current activity manually into the revolt status. (afaik)

Additional context This is just a feature that would be neat, as this might be very complex to implement tho it's just for when you might get bored :)

V3L0C1T13S commented 1 year ago

I can definitely see a full rich presence implementation being possible by modifying the users bio. The "Playing ..." status is already handled, but full activities are not displayed.

ShadowLp174 commented 1 year ago

Is it really? :O So the web client is able to detect rich presence?

V3L0C1T13S commented 1 year ago

Is it really? :O So the web client is able to detect rich presence?

Yes, all you have to do is set the Discord desktop client to use Reflectcord. Fosscord has a guide for this on their website

ShadowLp174 commented 1 year ago

Interesting... I'll prob configure my discord canary for reflectcord :D

ShadowLp174 commented 1 year ago

Never mind... canary doesn't work :/ but this is a different issue

V3L0C1T13S commented 1 year ago

There is now a proof of concept Rich presence implementation in ad87804a513bed47b45fd89ffb986c511bdb416a

It doesn't support all games, and is hardcoded at the moment to only support VSCode and Osu as test applications. We'll need to find a way to download the app info from Discord and cache it somewhere for all games to work.

V3L0C1T13S commented 1 year ago

This issue is now being tracked in #47

ShadowLp174 commented 1 year ago

Afaik it's not possible to download app data... At least not in the docmented way.

Do we need that tho? RPC contains a lot of information doesn't it?

ShadowLp174 commented 1 year ago

Ok nvm we need a way to get the app name...