Procs
proc getInvite(api: RestApi; code: string; with_counts, auth = false): Future[ Invite] {...}{.raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
-
Gets a discord invite, it can be a vanity code.
- auth Whether you should get the invite while authenticated.
proc getGuildMember(api: RestApi; guild_id, user_id: string): Future[Member] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Gets a guild member. Source Edit
proc getGuildMembers(api: RestApi; guild_id: string; limit = 1; after = "0"): Future[ seq[Member]] {...}{.raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Gets a list of a guild's members. Source Edit
proc setGuildNick(api: RestApi; guild_id: string; nick, reason = ""): owned( Future[void]) {...}{.raises: [Exception], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Sets the current user's guild nickname, defaults to "" if no nick is set. Source Edit
proc addGuildMemberRole(api: RestApi; guild_id, user_id, role_id: string; reason = ""): owned(Future[void]) {...}{.raises: [Exception], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Assigns a member's role. Source Edit
proc removeGuildMemberRole(api: RestApi; guild_id, user_id, role_id: string; reason = ""): owned(Future[void]) {...}{. raises: [Exception], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Removes a member's role. Source Edit
proc getUser(api: RestApi; user_id: string): Future[User] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Gets a user. Source Edit
proc leaveGuild(api: RestApi; guild_id: string): owned(Future[void]) {...}{. raises: [Exception], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Leaves a guild. Source Edit
proc createUserDm(api: RestApi; user_id: string): Future[DMChannel] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Create user dm. Source Edit
proc getCurrentUser(api: RestApi): Future[User] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Gets the current user. Source Edit
proc getGatewayBot(api: RestApi): Future[GatewayBot] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Get gateway bot with authentication. Source Edit
proc getGateway(api: RestApi): Future[string] {...}{.raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Get Discord gateway URL. Source Edit
proc editCurrentUser(api: RestApi; username, avatar = none string): Future[User] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Modifies the bot's username or avatar. Source Edit
proc createGroupDm(api: RestApi; access_tokens: seq[string]; nicks: Table[string, string]): Future[DMChannel] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
-
Creates a Group DM Channel.
- nicks Example: {"2123450": "MrDude"}.toTable
proc getCurrentApplication(api: RestApi): Future[OAuth2Application] {...}{. raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Gets the current application for the current user (bot user). Source Edit
proc registerApplicationCommand(api: RestApi; application_id: string; guild_id = ""; name, description: string; options: seq[ApplicationCommandOption] = @[]): Future[ ApplicationCommand] {...}{.raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
-
Create a global or guild only slash command.
- guild_id - Optional
- name - Character length (3 - 32)
- descripton - Character length (1 - 100)
NOTE: Creating a command with the same name as an existing command for your application will overwrite the old command.
Source Edit proc getApplicationCommands(api: RestApi; application_id: string; guild_id = ""): Future[ seq[ApplicationCommand]] {...}{.raises: [Exception, ValueError], tags: [ RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Get slash commands for a specific application, guild_id is optional. Source Edit
proc editApplicationCommand(api: RestApi; application_id, command_id: string; guild_id = ""; name, description: string; options: seq[ApplicationCommandOption] = @[]): Future[ ApplicationCommand] {...}{.raises: [Exception, ValueError], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
-
Modify slash command for a specific application.
- guild_id - Optional
- name - Character length (3 - 32)
- descripton - Character length (1 - 100)
proc deleteApplicationCommand(api: RestApi; application_id, command_id: string; guild_id = ""): owned(Future[void]) {...}{. raises: [Exception], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Delete slash command for a specific application, guild_id is optional. Source Edit
proc createInteractionResponse(api: RestApi; interaction_id, interaction_token: string; response: InteractionResponse): owned( Future[void]) {...}{.raises: [Exception], tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
- Create an interaction response. response.kind is required. Source Edit