implemet buttons
This commit is contained in:
parent
963aa9f3e5
commit
6a7e48e9c3
@ -34,6 +34,9 @@ static int prompt(char* line, size_t size)
|
||||
static void updateDiscordPresence()
|
||||
{
|
||||
if (SendPresence) {
|
||||
DiscordPresenceButton btn2 = {"DuckDuckGo", "https://duckduckgo.com", NULL};
|
||||
DiscordPresenceButton btn1 = {"Google", "https://google.com", &btn2};
|
||||
|
||||
char buffer[256];
|
||||
DiscordRichPresence discordPresence;
|
||||
memset(&discordPresence, 0, sizeof(discordPresence));
|
||||
@ -48,10 +51,11 @@ static void updateDiscordPresence()
|
||||
discordPresence.partySize = 1;
|
||||
discordPresence.partyMax = 6;
|
||||
discordPresence.partyPrivacy = DISCORD_PARTY_PUBLIC;
|
||||
discordPresence.matchSecret = "xyzzy";
|
||||
discordPresence.joinSecret = "join";
|
||||
discordPresence.spectateSecret = "look";
|
||||
// discordPresence.matchSecret = "xyzzy";
|
||||
// discordPresence.joinSecret = "join";
|
||||
// discordPresence.spectateSecret = "look";
|
||||
discordPresence.instance = 0;
|
||||
discordPresence.buttons = &btn1;
|
||||
Discord_UpdatePresence(&discordPresence);
|
||||
}
|
||||
else {
|
||||
|
@ -23,6 +23,12 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct DiscordPresenceButton {
|
||||
const char* label;
|
||||
const char* url;
|
||||
const struct DiscordPresenceButton* next;
|
||||
} DiscordPresenceButton;
|
||||
|
||||
typedef struct DiscordRichPresence {
|
||||
const char* state; /* max 128 bytes */
|
||||
const char* details; /* max 128 bytes */
|
||||
@ -40,6 +46,7 @@ typedef struct DiscordRichPresence {
|
||||
const char* joinSecret; /* max 128 bytes */
|
||||
const char* spectateSecret; /* max 128 bytes */
|
||||
int8_t instance;
|
||||
const DiscordPresenceButton* buttons;
|
||||
} DiscordRichPresence;
|
||||
|
||||
typedef struct DiscordUser {
|
||||
|
@ -160,6 +160,20 @@ size_t JsonWriteRichPresenceObj(char* dest,
|
||||
|
||||
writer.Key("instance");
|
||||
writer.Bool(presence->instance != 0);
|
||||
|
||||
if (presence->buttons) {
|
||||
WriteArray buttons(writer, "buttons");
|
||||
|
||||
const DiscordPresenceButton* current = presence->buttons;
|
||||
do {
|
||||
if (current->label && current->url) {
|
||||
WriteObject button(writer);
|
||||
|
||||
WriteOptionalString(writer, "label", current->label);
|
||||
WriteOptionalString(writer, "url", current->url);
|
||||
}
|
||||
} while ((current = current->next) != NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user