Imports System.Runtime.InteropServices Public Module RPC Public Const DLL_NAME As String = "discord-rpc.dll" Public Structure DiscordRichPresence Public State As String Public Details As String Public StartTimestamp As Long Public EndTimestamp As Long Public LargeImageKey As String Public LargeImageText As String Public SmallImageKey As String Public SmallImageText As String Public PartyID As String Public PartySize As Integer Public PartyMax As Integer Public MatchSecret As String Public JoinSecret As String Public SpectateSecret As String Public Instance As Boolean End Structure Public Enum DiscordReply No Yes Ignore End Enum Public Structure DiscordUser Public UserID As String Public Username As String Public Discriminator As String Public Avatar As String End Structure Delegate Sub Discord_Ready(ByRef Request As DiscordUser) Delegate Sub Discord_Disconnected(ByVal ErrorCode As Integer, ByVal Message As String) Delegate Sub Discord_Errored(ByVal ErrorCode As Integer, ByVal Message As String) Delegate Sub Discord_JoinGame(ByVal JoinSecret As String) Delegate Sub Discord_SpectateGame(ByVal SpectateSecret As String) Delegate Sub Discord_JoinRequest(ByRef Request As DiscordUser) Public Structure DiscordEventHandlers Public Ready As Discord_Ready Public Disconnected As Discord_Disconnected Public Errored As Discord_Errored Public JoinGame As Discord_JoinGame Public SpectateGame As Discord_SpectateGame Public JoinRequest As Discord_JoinRequest End Structure Public Sub Discord_Initialize(ByVal ApplicationID As String, ByRef Handlers As DiscordEventHandlers, ByVal AutoRegister As Integer, ByVal OptionalSteamID As String) End Sub Public Sub Discord_Shutdown() End Sub Public Sub Discord_RunCallbacks() End Sub Public Sub Discord_UpdateConnection() End Sub Public Sub Discord_UpdatePresence(ByRef Presence As DiscordRichPresence) End Sub Public Sub Discord_ClearPresence() End Sub Public Sub Discord_Respond(ByVal UserID As String, ByVal Reply As DiscordReply) End Sub Public Sub Discord_UpdateHandlers(ByRef Handlers As DiscordEventHandlers) End Sub End Module