No description
Find a file
2024-03-24 00:06:04 +02:00
src Add windows support (#5) 2024-03-24 00:06:04 +02:00
.gitignore Create .gitignore (#3) 2024-03-22 09:31:37 +02:00
discord_rpc.nimble Version 0.2.1 2024-03-16 17:30:27 +02:00
LICENSE Initial implementation. 2020-11-09 17:21:35 +02:00
README.md Initial implementation. 2020-11-09 17:21:35 +02:00

discord_rpc

Client library for synchronous part of Discord RPC, which includes Rich Presence.

Installation

nimble install discord_rpc

Example settings Rich Presence/Activity

let
  applicationId = WHATEVER
  discord = newDiscordRPC(applicationId)

discard discord.connect

discord.setActivity Activity(
  details: "Epic Application",
  state: "Doing nothing",
  assets: some ActivityAssets(
    largeImage: "icon-name",
    largeText: "yep, thats it"
  )
)

Example using other RPC facilities

Needs to be compiled with -d:ssl.

let
  id = WHATEVER
  secret = VERY_CONFIDENTIAL
  scopes = [oasIdentify, oasRpc] # You need at least these two to do anything

  discord = newDiscordRPC(id)
  _ = discord.connect
  authorizationCode = d.authorize scopes
  (authenticationToken, _) =
    getOAuth2Token(authorizationCode, discord.client, secret, scopes)
  _ = discord.authenticate token

# Now we're set to do whatever

  guilds = discord.getGuilds
  voiceSettings = discord.getVoiceSettings
  _ = d.selectTextChannel some channelId