dimscord/restapi

    Dark Mode
Search:
Group by:

This is where you interact with the api: sendMessages, deleteMessages, getGuild, banGuildMember etc.

Types

RestError = object of CatchableError
  Source Edit
DiscordFile = ref object
  name*, body*: string
A Discord file.   Source Edit
AllowedMentions = object
  parse*, roles*, users*: seq[string]
An object of allowed mentions. For parse: The values should be "roles", "users", "everyone"   Source Edit

Procs

proc sendMessage(api: RestApi; channel_id: string; content = ""; tts = false;
                embed = none Embed; allowed_mentions = none AllowedMentions;
                nonce: Option[string] or Option[int] = none(int);
                files = none seq[DiscordFile]): Future[Message]
Sends a discord message.
  • nonce This can be used for optimistic message sending
  Source Edit
proc editMessage(api: RestApi; channel_id, message_id: string; content = ""; tts = false;
                flags = none(int); embed = none Embed): Future[Message] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Edits a discord message.   Source Edit
proc deleteMessage(api: RestApi; channel_id, message_id: string; reason = ""): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a discord message.   Source Edit
proc getChannelMessages(api: RestApi; channel_id: string; around, before, after = "";
                       limit = 50): Future[seq[Message]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets channel messages.   Source Edit
proc getChannelMessage(api: RestApi; channel_id, message_id: string): Future[Message] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get a channel message.   Source Edit
proc bulkDeleteMessages(api: RestApi; channel_id: string; message_ids: seq[string];
                       reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Bulk deletes messages.   Source Edit
proc addMessageReaction(api: RestApi; channel_id, message_id, emoji: string): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Adds a message reaction to a Discord message.
  • emoji Example: '👀', '💩', likethis:123456789012345678
  Source Edit
proc deleteMessageReaction(api: RestApi; channel_id, message_id, emoji: string;
                          user_id = "@me"): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes the user's or the bot's message reaction to a Discord message.   Source Edit
proc deleteMessageReactionEmoji(api: RestApi; channel_id, message_id, emoji: string): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes all the reactions for emoji.   Source Edit
proc getMessageReactions(api: RestApi; channel_id, message_id, emoji: string;
                        before, after = ""; limit = 25): Future[seq[User]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get all user message reactions on the emoji provided.   Source Edit
proc deleteAllMessageReactions(api: RestApi; channel_id, message_id: string): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Remove all message reactions.   Source Edit
proc triggerTypingIndicator(api: RestApi; channel_id: string): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Starts typing in a specific Discord channel.   Source Edit
proc addChannelMessagePin(api: RestApi; channel_id, message_id: string; reason = ""): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Add pinned message.   Source Edit
proc deleteChannelMessagePin(api: RestApi; channel_id, message_id: string; reason = ""): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Remove pinned message.   Source Edit
proc getChannelPins(api: RestApi; channel_id: string): Future[seq[Message]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get channel pins.   Source Edit
proc editGuildChannel(api: RestApi; channel_id: string;
                     name, parent_id, topic = none string;
                     rate_limit_per_user, bitrate = none int;
                     position, user_limit = none int;
                     permission_overwrites = none seq[Overwrite]; nsfw = none bool;
                     reason = ""): Future[GuildChannel] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Modify a guild channel.   Source Edit
proc createGuildChannel(api: RestApi; guild_id, name: string; kind = 0;
                       parent_id, topic = none string; nsfw = none bool;
    rate_limit_per_user, bitrate, position, user_limit = none int;
                       permission_overwrites = none seq[Overwrite]; reason = ""): Future[
    GuildChannel] {...}{.raises: [Exception, ValueError, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Creates a channel.   Source Edit
proc deleteChannel(api: RestApi; channel_id: string; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes or closes a channel.   Source Edit
proc editGuildChannelPermissions(api: RestApi;
                                channel_id, perm_id, kind: string or int;
                                perms: PermObj; reason = ""): owned(Future[void])
Modify the channel's permissions.
  • kind Must be "role" or "member", or 0 or 1 if v8.
  Source Edit
proc getInvite(api: RestApi; code: string; with_counts, auth = false): Future[Invite] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get's a channel invite.
  • auth Whether you should get the invite while authenticated.
  Source Edit
proc beginGuildPrune(api: RestApi; guild_id: string; days = 7;
                    compute_prune_count = true; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Begins a guild prune.   Source Edit
proc getGuildPruneCount(api: RestApi; guild_id: string; days: int): Future[int] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets the prune count.   Source Edit
proc deleteGuild(api: RestApi; guild_id: string): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a guild.   Source Edit
proc editGuild(api: RestApi; guild_id: string;
              name, region, afk_channel_id, icon = none string;
              discovery_splash, owner_id, splash, banner = none string;
              system_channel_id, rules_channel_id = none string;
              preferred_locale, public_updates_channel_id = none string;
              verification_level, default_message_notifications = none int;
              explicit_content_filter, afk_timeout = none int; reason = ""): Future[
    Guild] {...}{.raises: [Exception, ValueError, FutureError],
            tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Edits a guild. Icon needs to be a base64 image. (See: https://nim-lang.org/docs/base64.html)   Source Edit
proc createGuild(api: RestApi; name, region = none string;
                icon, afk_channel_id, system_channel_id = none string;
                verification_level, default_message_notifications = none int;
                afk_timeout, explicit_content_filter = none int;
                roles = none seq[Role]; channels = none seq[Channel]): Future[Guild] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Create a guild. Please read these notes: https://discord.com/developers/docs/resources/guild#create-guild   Source Edit
proc getGuild(api: RestApi; guild_id: string; with_counts = false): Future[Guild] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a guild.   Source Edit
proc getGuildAuditLogs(api: RestApi; guild_id: string; user_id, before = "";
                      action_type = -1; limit = 50): Future[AuditLog] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get guild audit logs. The maximum limit is 100.   Source Edit
proc getGuildRoles(api: RestApi; guild_id: string): Future[seq[Role]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a guild's roles.   Source Edit
proc createGuildRole(api: RestApi; guild_id: string; name = "new role";
                    hoist, mentionable = false; permissions: PermObj; color = 0;
                    reason = ""): Future[Role] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Creates a guild role.   Source Edit
proc deleteGuildRole(api: RestApi; guild_id, role_id: string): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a guild role.   Source Edit
proc editGuildRole(api: RestApi; guild_id, role_id: string; name = none string;
                  permissions = none PermObj; color = none int;
                  hoist, mentionable = none bool; reason = ""): Future[Role] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Modifies a guild role.   Source Edit
proc editGuildRolePosition(api: RestApi; guild_id, role_id: string;
                          position = none int; reason = ""): Future[seq[Role]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Edits guild role position.   Source Edit
proc getGuildInvites(api: RestApi; guild_id: string): Future[seq[InviteMetadata]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets guild invites.   Source Edit
proc getGuildVanityUrl(api: RestApi; guild_id: string): Future[
    tuple[code: Option[string], uses: int]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets the guild vanity url.   Source Edit
proc editGuildMember(api: RestApi; guild_id, user_id: string;
                    nick, channel_id = none string; roles = none seq[string];
                    mute, deaf = none bool; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Modifies a guild member   Source Edit
proc removeGuildMember(api: RestApi; guild_id, user_id: string; reason = ""): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Removes a guild member.   Source Edit
proc getGuildBan(api: RestApi; guild_id, user_id: string): Future[GuildBan] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets guild ban.   Source Edit
proc getGuildBans(api: RestApi; guild_id: string): Future[seq[GuildBan]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets all the guild bans.   Source Edit
proc createGuildBan(api: RestApi; guild_id, user_id: string; deletemsgdays = 0;
                   reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Creates a guild ban.   Source Edit
proc removeGuildBan(api: RestApi; guild_id, user_id: string; reason = ""): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Removes a guild ban.   Source Edit
proc getGuildChannel(api: RestApi; guild_id, channel_id: string): Future[GuildChannel] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a guild channel.   Source Edit
proc getGuildChannels(api: RestApi; guild_id: string): Future[seq[GuildChannel]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a list of a guild's channels   Source Edit
proc editGuildChannelPositions(api: RestApi; guild_id, channel_id: string;
                              position = none int; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Edits a guild channel's position.   Source Edit
proc getGuildMember(api: RestApi; guild_id, user_id: string): Future[Member] {...}{.
    raises: [Exception, ValueError, FutureError],
    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, FutureError],
                  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, FutureError],
    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, FutureError],
                   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, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Removes a member's role.   Source Edit
proc createChannelInvite(api: RestApi; channel_id: string; max_age = 86400;
                        max_uses = 0; temp, unique = false; target_user = none string;
                        target_user_type = none int; reason = ""): Future[Invite] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Creates an instant invite.   Source Edit
proc deleteGuildChannelPermission(api: RestApi; channel_id, overwrite: string;
                                 reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a guild channel overwrite.   Source Edit
proc deleteInvite(api: RestApi; code: string; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a guild invite.   Source Edit
proc getChannelInvites(api: RestApi; channel_id: string): Future[seq[Invite]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a list of a channel's invites.   Source Edit
proc getGuildIntegrations(api: RestApi; guild_id: string): Future[seq[Integration]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a list of guild integrations.   Source Edit
proc getChannelWebhooks(api: RestApi; channel_id: string): Future[seq[Webhook]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a list of a channel's webhooks.   Source Edit
proc getGuildWebhooks(api: RestApi; guild_id: string): Future[seq[Webhook]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a list of a channel's webhooks.   Source Edit
proc createWebhook(api: RestApi; channel_id, username: string; avatar = none string;
                  reason = ""): Future[Webhook] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Creates a webhook. (webhook names cannot be: 'clyde', and they range 1-80)   Source Edit
proc executeWebhook(api: RestApi; webhook_id, token: string; wait = true; content = "";
                   tts = false; file = none DiscordFile; embeds = none seq[Embed];
                   allowed_mentions = none AllowedMentions;
                   username, avatar_url = none string): Future[Message] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [ReadIOEffect, RootEffect, TimeEffect, WriteIOEffect].}
Executes a webhook. If wait is false make sure to asyncCheck it.   Source Edit
proc executeSlackWebhook(api: RestApi; webhook_id, token: string; wait = true): Future[
    Message] {...}{.raises: [Exception, ValueError, FutureError],
              tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Executes a slack webhook. If wait is false make sure to asyncCheck it.   Source Edit
proc executeGithubWebhook(api: RestApi; webhook_id, token: string; wait = true): Future[
    Message] {...}{.raises: [Exception, ValueError, FutureError],
              tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Executes a github webhook. If wait is false make sure to asyncCheck it.   Source Edit
proc getWebhook(api: RestApi; webhook_id: string): Future[Webhook] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a webhook.   Source Edit
proc deleteWebhook(api: RestApi; webhook_id: string; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a webhook.   Source Edit
proc editWebhook(api: RestApi; webhook_id: string;
                name, avatar, channel_id = none string; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Modifies a webhook.   Source Edit
proc syncGuildIntegration(api: RestApi; guild_id, integ_id: string): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Syncs a guild integration.   Source Edit
proc editGuildIntegration(api: RestApi; guild_id, integ_id: string;
                         expire_behavior, expire_grace_period = none int;
                         enable_emoticons = none bool; reason = ""): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Edits a guild integration.   Source Edit
proc deleteGuildIntegration(api: RestApi; integ_id: string; reason = ""): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a guild integration.   Source Edit
proc getGuildWidget(api: RestApi; guild_id: string): Future[
    tuple[enabled: bool, channel_id: Option[string]]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a guild embed.   Source Edit
proc editGuildWidget(api: RestApi; guild_id: string; enabled = none bool;
                    channel_id = none string): Future[
    tuple[enabled: bool, channel_id: Option[string]]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Modifies a guild embed.   Source Edit
proc getGuildPreview(api: RestApi; guild_id: string): Future[GuildPreview] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets guild preview.   Source Edit
proc addGuildMember(api: RestApi; guild_id, user_id, access_token: string;
                   nick = none string; roles = none seq[string]; mute, deaf = none bool;
                   reason = ""): Future[tuple[member: Member, exists: bool]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Adds a guild member. If member is in the guild, then exists will be true.   Source Edit
proc createGuildEmoji(api: RestApi; guild_id, name, image: string;
                     roles: seq[string] = @[]; reason = ""): Future[Emoji] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Creates a guild emoji. The image needs to be a base64 string. (See: https://nim-lang.org/docs/base64.html)   Source Edit
proc editGuildEmoji(api: RestApi; guild_id, emoji_id: string; name = none string;
                   roles = none seq[string]; reason = ""): Future[Emoji] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Modifies a guild emoji.   Source Edit
proc deleteGuildEmoji(api: RestApi; guild_id, emoji_id: string; reason = ""): owned(
    Future[void]) {...}{.raises: [Exception, FutureError],
                   tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Deletes a guild emoji.   Source Edit
proc getUser(api: RestApi; user_id: string): Future[User] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a user.   Source Edit
proc leaveGuild(api: RestApi; guild_id: string): owned(Future[void]) {...}{.
    raises: [Exception, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Leaves a guild.   Source Edit
proc createUserDm(api: RestApi; user_id: string): Future[DMChannel] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Create user dm.   Source Edit
proc getGuildVoiceRegions(api: RestApi; guild_id: string): Future[seq[VoiceRegion]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets a guild's voice regions.   Source Edit
proc getVoiceRegions(api: RestApi): Future[seq[VoiceRegion]] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get voice regions   Source Edit
proc getCurrentUser(api: RestApi): Future[User] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets the current user.   Source Edit
proc getGatewayBot(api: RestApi): Future[GatewayBot] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get gateway bot with authentication.   Source Edit
proc getGateway(api: RestApi): Future[string] {...}{.
    raises: [Exception, ValueError, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Get Discord gateway URL.   Source Edit
proc editCurrentUser(api: RestApi; username, avatar = none string): Future[User] {...}{.
    raises: [Exception, ValueError, FutureError],
    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, FutureError],
    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, FutureError],
    tags: [RootEffect, TimeEffect, ReadIOEffect, WriteIOEffect].}
Gets the current application for the current user (bot user).   Source Edit