dimscord/restapi/user

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.
  Source Edit
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
  Source Edit
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)
  Source Edit
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