diff --git a/.gitignore b/.gitignore index 3f2979e..223c07d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ /.vscode/ /thirdparty/ .vs/ +.DS_Store \ No newline at end of file diff --git a/examples/unrealstatus/Content/ShowTheUILevel.umap b/examples/unrealstatus/Content/ShowTheUILevel.umap index 7b68148..8da4651 100644 Binary files a/examples/unrealstatus/Content/ShowTheUILevel.umap and b/examples/unrealstatus/Content/ShowTheUILevel.umap differ diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp index fc6b21b..697dba6 100644 --- a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp +++ b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Private/DiscordRpcBlueprint.cpp @@ -59,7 +59,7 @@ static void JoinRequestHandler(const DiscordJoinRequest* request) jr.username = ANSI_TO_TCHAR(request->username); jr.discriminator = ANSI_TO_TCHAR(request->discriminator); jr.avatar = ANSI_TO_TCHAR(request->avatar); - UE_LOG(Discord, Log, TEXT("Discord join request from %s#%s"), *jr.username, *jr.discriminator); + UE_LOG(Discord, Log, TEXT("Discord join request from %s - %s#%s"), *jr.userId, *jr.username, *jr.discriminator); if (self) { self->OnJoinRequest.Broadcast(jr); } @@ -134,9 +134,6 @@ void UDiscordRpc::UpdatePresence() auto spectateSecret = StringCast(*RichPresence.spectateSecret); rp.spectateSecret = spectateSecret.Get(); - - rp.startTimestamp = RichPresence.startTimestamp; - rp.endTimestamp = RichPresence.endTimestamp; rp.partySize = RichPresence.partySize; rp.partyMax = RichPresence.partyMax; rp.instance = RichPresence.instance; @@ -148,3 +145,10 @@ void UDiscordRpc::ClearPresence() { Discord_ClearPresence(); } + +void UDiscordRpc::Respond(const FString& userId, int reply) +{ + UE_LOG(Discord, Log, TEXT("Responding %d to join request from %s"), reply, *userId); + FTCHARToUTF8 utf8_userid(*userId); + Discord_Respond(utf8_userid.Get(), reply); +} diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h index 7fbad7b..9e71302 100644 --- a/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h +++ b/examples/unrealstatus/Plugins/discordrpc/Source/DiscordRpc/Public/DiscordRpcBlueprint.h @@ -111,6 +111,11 @@ public: Category = "Discord") void ClearPresence(); + UFUNCTION(BlueprintCallable, + meta = (DisplayName = "Respond to join request", Keywords = "Discord rpc"), + Category = "Discord") + void Respond(const FString& userId, int reply); + UPROPERTY(BlueprintReadOnly, meta = (DisplayName = "Is Discord connected", Keywords = "Discord rpc"), Category = "Discord")