-
Notifications
You must be signed in to change notification settings - Fork 355
Description
As I mentioned in #54 the Mudlet Application I am working on is a MUD Client which has been registered on our Guild and which uses it's own APPLICATION_ID to display information (for users who opt in on a per MUD Server connection {a.k.a. Profile}) about their use of Mudlet and the MUD Server to which they are connecting. Some Servers that we are collaborating with, have, or are, considering Discord Guilds and it would be to their benefit if our application can use their Discord resources, specifically Icons when connected to their MUD Server. This however means that we need to switch from using our APPLICATION_ID in a Rich Presence to theirs - and as our Client can run multiple "profiles" at the same time this theoretically means that we need to access not just one Server's resources besides our own but potentially more than one.
At present the only way I can see that we can do this with the RPC library as it is - is to do a Discord_Clear()
/Discord_Shutdown()
/Discord_Initilize(...)
every time that we need to switch from one Server to our Client and back to either that Server or another one with a different APPLICATION_ID
. This seems horrible inefficient!
Whilst it is going to be extremely unlikely I think, that more than one Server will actually get used, it is certainly possible that a user might drop in and out of a game connection to a MUD Server (perhaps dropping back to a login or other menu and be out of the game proper) and thus switch between using our Client app's ID and the selected Server's one {some MUDs require that you physically disconnect from them for a period of time before logging in as a different player/side} and possibly more than once.
tl;dr; I would like the ability to have more than one Rich Presence be loaded into a single application and a way to specify which is to be presented as the "active" one to actually show up in the user's on-line listing. I would compare this behaviour to how Discord behaves when the user has multiple applications that each have Discord Rich Presence support - what gets seen by other users is the one that has most recently updated the user's details with the Discord Server. I imagine that the Discord_initialize(...)
call could return an opaque handle which could be sent back to the external RPC library with a setter(...)
function to change the RIch Presence that is currently in-use (and also a getter()
that would return that handle to check the current choice)...
This I guess ought to be labelled "Feature Request"!