# Functions

BulkOverwriteGlobalApplicationCommands - Takes a list of application commands, overwriting the existing global command list for this application.
CanAddReactions - Allows for the addition of reactions to messages goland:noinspection GoUnusedExportedFunction.
CanAdminister - Allows all permissions and bypasses channel permission overwrites goland:noinspection GoUnusedExportedFunction.
CanAttachFiles - Allows for uploading images and files goland:noinspection GoUnusedExportedFunction.
CanBanMembers - Allows banning members goland:noinspection GoUnusedExportedFunction.
CanChangeNickname - Allows for modification of own nickname goland:noinspection GoUnusedExportedFunction.
CanConnect - Allows for joining of a voice channel goland:noinspection GoUnusedExportedFunction.
CanCreateInstantInvite - Allows creation of instant invites goland:noinspection GoUnusedExportedFunction.
CanCreatePrivateThreads - Allows for creating private threads goland:noinspection GoUnusedExportedFunction.
CanCreatePublicThreads - Allows for creating public and announcement threads goland:noinspection GoUnusedExportedFunction.
CanDeafenMembers - Allows for deafening of members in a voice channel goland:noinspection GoUnusedExportedFunction.
CanEmbedLinks - Links sent by users with this permission will be auto-embedded goland:noinspection GoUnusedExportedFunction.
CanKickMembers - Allows kicking members goland:noinspection GoUnusedExportedFunction.
CanManageChannels - Allows management and editing of channels goland:noinspection GoUnusedExportedFunction.
CanManageEvents - Allows for creating, editing, and deleting scheduled events goland:noinspection GoUnusedExportedFunction.
CanManageGuild - Allows management and editing of the guild goland:noinspection GoUnusedExportedFunction.
CanManageGuildExpressions - Allows management and editing of emojis and stickers goland:noinspection GoUnusedExportedFunction.
CanManageMessages - Allows for deletion of other users messages goland:noinspection GoUnusedExportedFunction.
CanManageNicknames - Allows for modification of other users nicknames goland:noinspection GoUnusedExportedFunction.
CanManageRoles - Allows management and editing of roles goland:noinspection GoUnusedExportedFunction.
CanManageThreads - Allows for deleting and archiving threads, and viewing all private threads goland:noinspection GoUnusedExportedFunction.
CanManageWebhooks - Allows management and editing of webhooks goland:noinspection GoUnusedExportedFunction.
CanMentionEveryone - Allows for using the @everyone tag to notify all users in a channel, and the @here tag to notify all online users in a channel goland:noinspection GoUnusedExportedFunction.
CanModerateMembers - Allows for timing out users to prevent them from sending or reacting to messages in chat and threads, and from speaking in voice and stage channels goland:noinspection GoUnusedExportedFunction.
CanMoveMembers - Allows for moving of members between voice channels goland:noinspection GoUnusedExportedFunction.
CanMuteMembers - Allows for muting members in a voice channel goland:noinspection GoUnusedExportedFunction.
CanReadMessageHistory - Allows for reading of message history goland:noinspection GoUnusedExportedFunction.
CanRequestToSpeak - Allows for requesting to speak in stage channels.
CanSendMessages - Allows for sending messages in a channel and creating threads in a forum (does not allow sending messages in threads) goland:noinspection GoUnusedExportedFunction.
CanSendMessagesInThreads - Allows for sending messages in threads goland:noinspection GoUnusedExportedFunction.
CanSendTtsMessages - Allows for sending of /tts messages goland:noinspection GoUnusedExportedFunction.
CanSpeak - Allows for speaking in a voice channel goland:noinspection GoUnusedExportedFunction.
CanStream - Allows the user to go live goland:noinspection GoUnusedExportedFunction.
CanUseApplicationCommands - Allows members to use application commands, including slash commands and context menu commands.
CanUseEmbeddedActivities - Allows for using Activities (applications with the Embedded flag) in a voice channel goland:noinspection GoUnusedExportedFunction.
CanUseExternalEmojis - Allows the usage of custom emojis from other servers goland:noinspection GoUnusedExportedFunction.
CanUseExternalStickers - Allows the usage of custom stickers from other servers goland:noinspection GoUnusedExportedFunction.
CanUseVoiceActivity - Allows for using voice-activity-detection in a voice channel goland:noinspection GoUnusedExportedFunction.
CanViewAuditLog - Allows for viewing of audit logs goland:noinspection GoUnusedExportedFunction.
CanViewChannel - Allows guild members to view a channel, which includes reading messages in text channels and joining voice channels goland:noinspection GoUnusedExportedFunction.
CanViewGuildInsights - Allows for viewing guild insights goland:noinspection GoUnusedExportedFunction.
CreateAutoModerationRule - Create a new rule.
CreateDM - Create a new DM Channel with a User.
CreateGlobalApplicationCommand - Create a new global command.
CreateGroupDM - Create a new group DM Channel with multiple users.
CreateGuild Create a new guild.
CreateGuildApplicationCommand - Create a new guild command.
CreateGuildFromGuildTemplate - Create a new guild based on a template.
CreateStageInstance - Creates a new Stage instance associated to a Stage channel.
DeleteAutoModerationRule - Delete a rule.
DeleteGlobalApplicationCommand - Deletes a global command.
DeleteGuildApplicationCommand - Delete a guild command.
goland:noinspection GoUnusedExportedFunction.
GetApplicationRoleConnectionMetadataRecords - Returns a list of ApplicationRoleConnectionMetadata objects for the given Application.
GetAutoModerationRule - Get a single rule.
GetChannel - Get a Channel by ID.
goland:noinspection GoUnusedExportedFunction.
GetCurrentUser - Returns the user object of the requesters account.
GetCurrentUserGuilds - Returns a list of partial Guild objects the current user is a member of.
goland:noinspection GoUnusedExportedFunction.
goland:noinspection GoUnusedExportedFunction.
GetGlobalApplicationCommands - Fetch all the global commands for your application.
GetGuildApplicationCommands - Fetch all the guild commands for your application for a specific guild.
GetGuildTemplate - Returns a GuildTemplate object for the given code.
GetUserApplicationRoleConnection - Returns the application role connection for the user.
GetUserConnections - Returns a list of Connection objects.
IsPrioritySpeaker - Allows for using priority speaker in a voice channel goland:noinspection GoUnusedExportedFunction.
ListAutoModerationRulesForGuild - Get a list of all rules currently configured for the guild.
ListStickerPacks - Returns the list of sticker packs available to Nitro subscribers.
ListVoiceRegions - Returns an array of voice region objects that can be used when setting a voice or stage channel's `rtc_region`.
ModifyAutoModerationRule - Modify an existing rule.
ModifyCurrentUser - Modify the requesters user account settings.
NewAutocompleteResponse - Build a new response containing a modal goland:noinspection GoUnusedExportedFunction.
NewComponent - Build a new Component.
NewEmbed - Instantiates a new Embed object with the color defaulted to red and the timestamp defaulted to time.Now() goland:noinspection GoUnusedExportedFunction.
NewField - Create a new base Field to chain against.
NewMessageResponse - Build a new response containing a message goland:noinspection GoUnusedExportedFunction.
NewModalResponse - Build a new response containing a modal goland:noinspection GoUnusedExportedFunction.
NewRatelimiter returns a new RateLimiter goland:noinspection SpellCheckingInspection.
PermissionConstantsEveryone All members in a guild goland:noinspection GoUnusedExportedFunction.
PermissionsConstantsAllChannels All channels in a guild goland:noinspection GoUnusedExportedFunction.
PtrStr converts a string pointer to a string.
StringToSnowflake - Type converts a string into a Snowflake.
UpdateApplicationRoleConnectionMetadataRecords - Updates and returns a list of ApplicationRoleConnectionMetadata objects for the given Application.
UpdateUserApplicationRoleConnection - Updates and returns the application role connection for the user.

# Constants

ACCEPTED.
goland:noinspection GoUnusedConst.
User is an Active Developer.
Allows for the addition of reactions to messages.
Allows all permissions and bypasses channel permission overwrites.
media content sent by all members will be scanned.
members will receive notifications for all messages by default.
guild has access to set an animated guild banner image.
guild has access to set an animated guild icon.
Indicates if an app uses the Auto Moderation API.
Indicates if an app has registered global application commands.
guild is using the old permissions configuration behavior.
goland:noinspection GoUnusedConst.
Allows for uploading images and files.
256 characters.
Discord chooses the quality for optimal performance.
respond to an autocomplete interaction with suggested choices.
guild has set up auto moderation rules.
AUTO_MODERATION_ACTION.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
Allows banning members.
guild has access to set a guild banner image.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
goland:noinspection GoUnusedConst.
BooleanEqual - the metadata value (integer) is equal to the guild's configured value (integer; 1).
BooleanNotEqual - the metadata value (integer) is not equal to the guild's configured value (integer; 1).
goland:noinspection GoUnusedConst.
Bot uses only HTTP interactions and is shown in the online member list.
Bug Hunter Level 1.
Bug Hunter Level 2.
color: red; requires field: custom_id.
color: grey; requires field: url.
color: blurple; requires field: custom_id.
color: grey; requires field: custom_id.
color: green; requires field: custom_id.
BypassesVerification - Member is exempt from guild verification requirements.
CALL.
goland:noinspection GoUnusedConst.
Discord Certified Moderator.
Allows for modification of own nickname.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
CHANNEL_FOLLOW_ADD.
ChannelFormat - <#CHANNEL_ID>.
CHANNEL_ICON_CHANGE.
respond to an interaction with a message.
CHANNEL_NAME_CHANGE.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
CHANNEL_PINNED_MESSAGE.
goland:noinspection GoUnusedConst.
CHAT_INPUT_COMMAND.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
Mutable; guild can enable welcome screen, Membership Screening, stage channels and discovery, and receives community updates.
goland:noinspection GoUnusedConst.
CompletedOnboarding - Member has completed onboarding.
Container for other components.
Button object.
Select menu for channels.
Select menu for mentionables (users and roles).
Select menu for roles.
SelectMenu for picking from defined text options.
TextInput object.
Select menu for users.
Allows for joining of a voice channel.
visible to everyone.
invisible to everyone except the user themselves.
CONTEXT_MENU_COMMAND.
Allows for creating scheduled events, and editing and deleting those created by the current user.
Allows for creating emojis, stickers, and soundboard sounds, and editing and deleting those created by the current user.
Allows creation of instant invites.
Allows for creating private threads.
Allows for creating public and announcement threads.
Sort forum posts by creation time (from most recent to oldest).
guild has enabled monetization.
guild has enabled the role subscription promo page.
this message has been published to subscribed channels (via Channel Following).
Undocumented as of 03/17/2023.
DateTimeGreaterThanOrEqual - the metadata value (ISO8601 string) is greater than or equal to the guild's configured value (integer; days before current date).
DateTimeLessThanOrEqual - the metadata value (ISO8601 string) is less than or equal to the guild's configured value (integer; days before current date).
Allows for deafening of members in a voice channel.
DEFAULT.
ACK an interaction and edit a response later, the user sees a loading state.
for components, ACK an interaction and edit the original message later; the user does not see a loading state; edit the message using EditOriginalInteractionResponse.
4096 characters.
guild has been set as a support server on the App Directory.
DidRejoin - Member has left and rejoined the guild.
media content will not be scanned.
Mutable; guild is able to be discovered in the directory.
a direct message between users.
goland:noinspection GoUnusedConst.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
Indicates if an app is embedded within the Discord client (currently unavailable publicly).
Links sent by users with this permission will be auto-embedded.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
this message is only visible to the user who invoked the Interaction.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
Controls @everyone and @here mentions.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
this message failed to mention some roles and add their members to the thread.
guild is able to be featured in the directory.
Up to 25 field objects.
256 characters.
1024 characters.
None.
2048 characters.
720p.
Display posts as a collection of tiles.
Intent required for bots in 100 or more servers to receive member-related events like guild_member_add.
Intent required for bots in under 100 servers to receive member-related events like guild_member_add, found in Bot Settings.
Intent required for bots in 100 or more servers to receive message content.
Intent required for bots in under 100 servers to receive message content, found in Bot Settings.
Intent required for bots in 100 or more servers to receive presence_update events.
Intent required for bots in under 100 servers to receive presence_update events, found in Bot Settings.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
a direct message between multiple users.
a channel that users can follow and crosspost into their own server (formerly news channels).
a temporary sub-channel within a GuildAnnouncement channel.
GUILD_APPLICATION_PREMIUM_SUBSCRIPTION.
GUILD_BOOST.
GUILD_BOOST_TIER_1.
GUILD_BOOST_TIER_2.
GUILD_BOOST_TIER_3.
an organizational category that contains up to 50 channels.
the channel in a hub containing the listed servers.
GUILD_DISCOVERY_DISQUALIFIED.
GUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING.
GUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING.
GUILD_DISCOVERY_REQUALIFIED.
Channel that can only contain threads.
GUILD_INVITE_REMINDER.
Channel that can only contain threads, similar to GuildForum channels.
The Stage instance is visible to only guild members.
a temporary sub-channel within a GuildText channel that is only viewable by those invited and those with the ManageThreads permission.
a temporary sub-channel within a GuildText channel.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
the scheduled event is only accessible to guild members.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
a voice channel for hosting events with an audience.
a text channel within a server.
GuildUpdate - Guild update Events.
a voice channel within a server.
this message has an associated thread, with the same id as the message.
House Balance Member.
House Bravery Member.
House Brilliance Member.
HypeSquad Events Coordinator.
ImageBaseURL - The root URL for image links.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
IntegerEqual - the metadata value (integer) is equal to the guild's configured value (integer).
IntegerGreaterThanOrEqual - the metadata value (integer) is greater than or equal to the guild's configured value (integer).
IntegerLessThanOrEqual - the metadata value (integer) is less than or equal to the guild's configured value (integer).
IntegerNotEqual - the metadata value (integer) is not equal to the guild's configured value (integer).
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
INTERACTION_PREMIUM_UPSELL.
APPLICATION_COMMAND.
APPLICATION_COMMAND_AUTOCOMPLETE.
MESSAGE_COMPONENT.
MODAL_SUBMIT.
PING.
goland:noinspection GoUnusedConst.
INVITED.
goland:noinspection GoUnusedConst.
Mutable; Pauses all invites/access to the server.
guild has access to set an invite splash background.
goland:noinspection GoUnusedConst.
this message originated from a message in another channel (via Channel Following).
check if content contains words from a user defined list of keywords.
check if content contains words from internal pre-defined wordsets.
Kick.
Allows kicking members.
Sort forum posts by activity.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
Display posts as a list.
this message is an Interaction Response and the bot is "thinking".
LongDate - 20 April 2021.
LongDateTime - Tuesday, 20 April 2021 16:20.
LongTime - 16:20:30.
Allows management and editing of channels.
Allows for editing and deleting scheduled events created by all users.
Allows management and editing of the guild.
Allows for editing and deleting emojis, stickers, and soundboard sounds created by all users.
Allows for deletion of other users messages.
Allows for modification of other users nicknames.
Allows management and editing of roles.
Allows for deleting and archiving threads, and viewing all private threads.
Allows management and editing of webhooks.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
media content sent by members without roles will be scanned.
goland:noinspection GoUnusedConst.
guild has enabled Membership Screening.
Allows for using the @everyone tag to notify all users in a channel, and the @here tag to notify all online users in a channel.
check if content contains more unique mentions than allowed.
JOIN.
JOIN_REQUEST.
LISTEN.
SPECTATE.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
when a member sends or edits a message in the guild.
goland:noinspection GoUnusedConst.
guild has a 2FA requirement for moderation actions.
guild has no MFA/2FA requirement for moderation actions.
respond to an interaction with a popup modal ** Not available for MODAL_SUBMIT and PING interactions.
Allows for timing out users to prevent them from sending or reacting to messages in chat and threads, and from speaking in voice and stage channels.
guild has increased custom sticker slots.
Allows for moving of members between voice channels.
goland:noinspection GoUnusedConst.
Allows for muting members in a voice channel.
guild has access to create news channels.
Nitro.
Nitro Basic.
Nitro Classic.
None.
For Vanity Roles that have no other permissions attached to them.
No default has been set for forum channel.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
members will receive notifications only for messages that @mention them by default.
attachment object.
goland:noinspection GoUnusedConst.
Includes all channel types + categories.
Any integer between -2^53 and 2^53.
Includes users and roles.
Any double between -2^53 and 2^53.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
Partnered Server Owner.
guild is partnered.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
1 (member).
0 (role).
CHANNEL.
ROLE.
USER.
this thread is pinned to the top of its parent GuildForum channel.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
ACK a Ping.
Early Nitro Supporter.
guild has not unlocked any Server Boost perks.
guild has unlocked Server Boost level 1 perks.
guild has unlocked Server Boost level 2 perks.
guild has unlocked Server Boost level 3 perks.
guild can be previewed before joining via Membership Screening or the directory.
Allows for using priority speaker in a voice channel.
Words that may be considered forms of swearing or cursing.
Allows for reading of message history.
RECIPIENT_ADD.
RECIPIENT_REMOVE.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
RelativeTime - 2 months ago.
Remove role.
REPLY.
Allows for requesting to speak in stage channels.
whether a tag is required to be specified when creating a thread in a GuildForum channel.
generic embed rendered from embed attributes.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
guild is able to set role icons.
Controls role mentions.
ROLE_SUBSCRIPTION_PURCHASE.
guild has role subscriptions that can be purchased.
guild has enabled role subscriptions.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
Allows for sending messages in a channel (does not allow sending messages in threads).
Allows for sending messages in threads.
Allows for sending of /tts messages.
Allows sending voice messages.
Words that refer to sexually explicit behavior or activity.
ShortDate - 20/04/2021.
ShortDateTime - 20 April 2021 16:20; default.
ShortTime - 16:20.
No longer to be added by users.
Personal insults or words that may be considered hate speech.
the source message for this crosspost has been deleted (via Channel Following).
check if content represents generic spam.
Allows for speaking in a voice channel.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
Discord Employee.
STAGE_END.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
STAGE_SPEAKER.
STAGE_START.
STAGE_TOPIC.
StartedOnboarding - Member has started onboarding.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
APNG.
GIF.
LOTTIE.
PNG.
a sticker uploaded to a Boosted guild for the guild's members.
an official sticker in a pack, part of Nitro or in a removed purchasable pack.
goland:noinspection GoUnusedConst.
Allows the user to go live.
do not include any embeds when serializing this message.
Suppress server setup tips.
Hide member join sticker reply buttons.
Suppress member join notifications.
this message will not trigger push and desktop notifications.
Suppress server boost notifications.
Hide role subscription sticker reply buttons.
Suppress role subscription purchase and renewal notifications.
EMBEDDED_APPLICATION.
STREAM.
User is a team.
A multi-line input.
A single-line input.
goland:noinspection GoUnusedConst.
THREAD_CREATED.
goland:noinspection GoUnusedConst.
THREAD_STARTER_MESSAGE.
goland:noinspection GoUnusedConst.
guild has enabled ticketed events.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
goland:noinspection GoUnusedConst.
256 characters.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
for components, edit the message the component was attached to.
this message came from the urgent message system.
Allows members to use application commands, including slash commands and context menu commands.
Allows for launching activities (applications with the EMBEDDED flag) in a voice channel.
Allows the usage of custom emojis from other servers.
Allows the usage of custom soundboard sounds from other servers.
Allows the usage of custom stickers from other servers.
UserAgent - header value to be sent with each API request.
USER_JOIN.
Controls user mentions.
Allows for using soundboard in a voice channel.
Allows for using voice-activity-detection in a voice channel.
guild has access to set a vanity URL.
must be a member of the server for longer than 10 minutes.
must have verified email on account.
must be registered on Discord for longer than 5 minutes.
unrestricted.
must have a verified phone number.
Indicates unusual growth of an app that prevents verification.
guild is verified.
Verified Bot.
Early Verified Bot Developer.
Allows for viewing of audit logs.
Allows guild members to view a channel, which includes reading messages in text channels and joining voice channels.
Allows for viewing role subscription insights.
Allows for viewing guild insights.
guild has access to set 384kbps bitrate in voice (previously VIP voice servers).
goland:noinspection GoUnusedConst.
goland:noinspection GoUnusedConst.
Application webhooks are webhooks used with Interactions.
Channel Follower Webhooks are internal webhooks used with Channel Following to post new messages into channels.
Incoming Webhooks can post messages to channels with a generated token.
goland:noinspection GoUnusedConst.
guild has enabled the welcome screen.
goland:noinspection SpellCheckingInspection,GoUnusedConst.
goland:noinspection SpellCheckingInspection,GoUnusedConst.

# Variables

ApplicationID - The Snowflake of the application.
goland:noinspection GoUnusedGlobalVariable.
goland:noinspection GoUnusedGlobalVariable.
Rest - Holds the rate limit buckets.
Token - The application's token.

# Structs

AddGuildMemberJSON - JSON payload.
AllowedMentions - The allowed mention field allows for more granular control over mentions without various hacks to the message content.
Application - an application which operates on Discord, commonly referred to as bots goland:noinspection SpellCheckingInspection.
ApplicationCommand - A command, or each individual subcommand, can have a maximum of 25 options An application command is the base "command" model that belongs to an application.
ApplicationCommandData While the data field is guaranteed to be present for all interaction types besides InteractionTypePing, its structure will vary.
ApplicationCommandInteractionDataOption - All options have names, and an option can either be a parameter and input value--in which case value will be set--or it can denote a subcommand or group--in which case it will contain a top-level key and another array of options.
ApplicationCommandOption - You can specify a maximum of 25 choices per option.
ApplicationCommandOptionChoice - If you specify choices for an option, they are the only valid values for a user to pick.
ApplicationCommandPermissions - Application command permissions allow you to enable or disable command for specific users or roles within a guild.
No description provided by the author
ApplicationRoleConnectionMetadata A representation of role connection metadata for an Application.
Attachment - For the attachments array in Message Create/Edit requests, only the id is required.
AuditLog - When an administrative action is performed in a Guild, an entry is added to its AuditLog.
AuditLogChange - If new_value is not present in the change object, while old_value is, that means the property that was changed has been reset, or set to null.
AuditLogEntry - Representation of a single Audit Log.
Author - author information.
AutoModAction - An action which will execute whenever a rule is triggered.
AutoModActionMetadata - Additional data used when an action is executed.
AutoModerationRule - Auto Moderation is a feature which allows each guild to set up rules that trigger based on some criteria.
AutoModerationRuleJSON - JSON payload for AutoMod actions.
Ban - represents a guild member ban object.
BeginGuildPruneJSON - JSON payload.
BulkDeleteJSON - JSON payload structure.
Button - Buttons are interactive components that render on messages.
Channel - Represents a guild or DM channel within Discord.
ChannelMention - representation of a Channel mention.
Component - Components are a new field on the message object, so you can use them whether you're sending messages or responding to a slash command or other interaction.
Connection - The connection object that the user has attached.
CreateApplicationCommandJSON - JSON payload structure.
CreateChannelInviteJSON - JSON payload structure.
CreateDmJSON - JSON payload.
CreateEmojiJSON - Parameters to pass in the JSON payload TODO: Validate the base64.Encoding.
CreateGroupDmJSON - JSON payload.
No description provided by the author
CreateGuildFromGuildTemplateJSON - JSON payload.
No description provided by the author
CreateGuildRoleJSON - JSON payload.
CreateGuildScheduledEventJSON - JSON payload.
CreateGuildTemplateJSON - JSON payload.
CreateMessageJSON - JSON payload structure TODO: files[n].
CreateStageInstanceJSON - data to send in the CreateStageInstance payload.
DefaultReaction - An object that specifies the emoji to use as the default way to react to a forum post.
EditApplicationCommandJSON - JSON payload structure.
EditApplicationCommandPermissionsJSON - JSON payload structure.
EditChannelPermissionsJSON - JSON payload structure.
EditMessageJSON - JSON payload structure All parameters are optional and nullable.
EditWebhookMessageJSON - All parameters to this endpoint are optional and nullable.
Embed - contains rich content.
Emoji - Routes for controlling emojis do not follow the normal rate limit conventions.
ExecuteWebhookJSON - JSON payload structure.
Field - fields information.
FollowAnnouncementChannelJSON - JSON payload structure.
FollowedChannel - representation of a followed News Channel.
Footer - footer information.
FormattedSnowflake - A breakdown of the data contained in a Snowflake.
ForumOrMediaThreadMessageParams - JSON for starting a new forum thread TODO: files[n].
ForumTag - An object that represents a tag that is able to be applied to a thread in a GuildForum channel.
No description provided by the author
No description provided by the author
No description provided by the author
GetGuildWidget - the guild widget The fields `id`, `discriminator` and `avatar` are anonymized to prevent abuse.
GroupDmAddRecipientJSON - JSON payload structure IMPORTANT: requires a Bearer token for the user.
Guild - Guilds in Discord represent an isolated collection of users and channels, and are often referred to as "servers" in the UI.
No description provided by the author
No description provided by the author
GuildApplicationCommandPermissions - Returned when fetching the permissions for a command in a guild.
No description provided by the author
No description provided by the author
GuildMember - Represents a member of a Guild The field `user` won't be included in the member object attached to MessageCreate and MessageUpdate gateway events.
GuildOnboarding - Represents the onboarding flow for a guild.
GuildPreview - preview object.
No description provided by the author
No description provided by the author
GuildScheduledEvent - A representation of a scheduled event in a guild.
GuildScheduledEventEntityMetadata - required for events with 'entity_type': EXTERNAL.
GuildScheduledEventUser - Representation of a user interested in attending an event.
No description provided by the author
GuildTemplate - Represents a code that when used, creates a guild based on a snapshot of an existing guild.
No description provided by the author
No description provided by the author
GuildWidgetSettings - the guild widget status.
Image - image information.
InstallParams - settings for the application's default in-app authorization link, if enabled.
Integration - a guild integration.
IntegrationAccount - integration account information.
IntegrationApplication - The bot/OAuth2 application for discord integrations.
An Interaction is the message that your application receives when a user uses an ApplicationCommand or a Message Component.
InteractionCallbackDataAutocomplete - Data payload for InteractionResponseAutocomplete.
InteractionCallbackDataMessages - Not all message fields are currently supported by Discord Data payload for InteractionResponseMessages.
InteractionCallbackDataModal - Data payload for InteractionResponseModal.
InteractionResponseAutocomplete - After receiving an interaction, you must respond to acknowledge it.
InteractionResponseMessages - After receiving an interaction, you must respond to acknowledge it.
InteractionResponseModal - After receiving an interaction, you must respond to acknowledge it.
Invite - Represents a code that when used, adds a user to a guild or group DM channel.
InviteMetadata - Extra information about an invite, will extend the invite object.
ListStickerPacksResponse - JSON response.
LocalizationDict - officially supported languages by Discord.
Message - Represents a message sent in a channel within Discord.
MessageActivity - sent with Rich Presence-related chat embeds.
No description provided by the author
MessageInteraction - This is sent on the message object when the message is a response to an Interaction.
MessageReference - ChannelID is optional when creating a reply, but will always be present when receiving an event/response that includes this data model.
No description provided by the author
No description provided by the author
No description provided by the author
ModifyCurrentUserJSON - JSON payload.
ModifyCurrentUserVoiceStateJSON - JSON payload.
No description provided by the author
ModifyGuildChannelPositionsJSON - JSON payload.
ModifyGuildEmojiJSON - Parameters to pass in the JSON payload.
ModifyGuildJSON All parameters to this endpoint are optional This endpoint supports the `X-Audit-Log-Reason` header.
ModifyGuildMemberJSON - JSON payload.
ModifyGuildRoleJSON - JSON payload.
ModifyGuildRolePositionsJSON - JSON payload.
ModifyGuildScheduledEventJSON - JSON payload.
ModifyGuildStickerJSON - JSON payload.
No description provided by the author
No description provided by the author
ModifyGuildWelcomeScreenJSON - JSON payload.
ModifyStageInstanceJSON - data to send in the ModifyStageInstance payload.
No description provided by the author
ModifyThreadJSON - When setting archived to false, when locked is also false, only the SEND_MESSAGES permission is required.
ModifyUserVoiceStateJSON - JSON payload.
OnboardingPrompt - Prompts shown during onboarding and in customize community.
OptionalAuditEntry - Information that is specific to certain events.
Overwrite - representation of a permissions overwrite.
PromptOption - Options available within the prompt When creating or updating a prompt option, the emoji_id, emoji_name, and emoji_animated fields must be used instead of the emoji object.
RateLimiter holds all ratelimit buckets.
Reaction - representation of a message reaction.
ResolvedData - Descriptive data about the Interaction If data for a GuildMember is included, data for its corresponding User will also be included.
Role - Roles represent a set of permissions attached to a group of users.
RoleSubscriptionData - data of the role subscription purchase or renewal that prompted this RoleSubscriptionData message.
RoleTags - the tags this Role has.
SelectMenu - Select menus support single-select and multi-select behavior, meaning you can prompt a user to choose just one item from a list, or multiple.
SelectOption - Represents a single select menu option.
StageInstance - A StageInstance holds information about a live stage.
StartThreadInForumJSON - JSON payload structure.
StartThreadWithMessageJSON - JSON payload structure.
StartThreadWithoutMessageJSON - JSON payload structure.
Sticker - Represents a sticker that can be sent in messages.
StickerItem - The smallest amount of data required to render a sticker.
StickerPack - Represents a pack of standard stickers.
Team - Teams are groups of developers on Discord who want to collaborate on apps.
TeamMember - representation of a team member goland:noinspection GrazieInspection.
TextInput - Text inputs are an interactive component that render on modals.
No description provided by the author
ThreadMember - A thread member is used to indicate whether a user has joined a thread or not.
ThreadMetadata - The thread metadata object contains a number of thread-specific channel fields that are not needed by other channel types.
Thumbnail - thumbnail information.
TriggerMetadata - Additional data used to determine whether a rule should be triggered.
UnavailableGuild - A partial guild object.
User - Discord enforces the following restrictions for usernames and nicknames: Names can contain most valid unicode characters.
VoiceRegion - representation of a geographic voice server.
VoiceState - Used to represent a user's voice connection status.
Webhook - Used to represent a webhook.
WelcomeScreen - the welcome screen object.
WelcomeScreenChannel - the channels shown in the welcome screen, up to 5.

# Type aliases

AllowedMentionType - the type of mention allowed.
ApplicationCommandOptionType - The option type of the command.
ApplicationCommandPermissionType - The permission type for the command.
ApplicationCommandType - The type of application command.
ApplicationFlags - the application's public ApplicationFlags.
ApplicationRoleConnectionMetadataType - type of metadata value.
AuditLogEvent - The event type that triggered the log action.
AutoModerationActionType - the type of action.
ButtonStyle - Buttons come in a variety of styles to convey different types of actions.
ChannelFlag - channel flags combined as a bitfield.
ChannelType - the type of channel.
ComponentType - The type of component.
ConnectionVisibilityType - visibility of this connection.
DefaultMessageNotificationLevel - default message notifications level.
EmbedType - Embed types are "loosely defined" and, for the most part, are not used by our clients for rendering.
EventType - Indicates in what event context a rule should be checked.
ExplicitContentFilterLevel - explicit content filter level.
Format - Discord utilizes a subset of markdown for rendering message content on its clients, while also adding some custom functionality to enable things like mentioning users and channels.
ForumLayoutType - the default forum layout view used to display posts in GuildForum channels.
GuildFeatures - enabled guild features.
GuildMemberFlag - guild member flags represented as a bit set, defaults to 0.
GuildNsfwLevel - guild NSFW level.
GuildScheduledEventPrivacyLevel - the privacy level of the scheduled event.
GuildScheduledEventStatus - Once status is set to Completed or Cancelled, the status can no longer be updated.
GuildScheduledEventType - the type of the scheduled event.
IntegrationExpireBehavior - the behavior of expiring subscribers.
InteractionCallbackType - The type of callback to an interaction with respond.
InteractionType - The type of Interaction.
InviteTargetType - the type of target for this voice channel invite.
KeyWordPresetType - the internally pre-defined wordsets which will be searched for in content.
MembershipState - Current state of a team member.
MessageActivityType - type of message activity.
MessageFlags - MessageFlags combined as a bitfield.
MessageType - type of message.
MfaLevel - required MFA level for the guild.
OverwriteType - either PermissionRole or PermissionMember.
Permission - Permissions in Discord are a way to limit and grant certain abilities to users.
PremiumTier - premium tier (Server Boost level).
PremiumType - Premium types denote the level of premium a user has.
PrivacyLevel - The privacy level of the Stage instance.
PromptType - Type of prompt.
Service - the service of the connection.
Snowflake - Discord utilizes Twitter's snowflake format for uniquely identifiable descriptors (IDs).
SortOrderType - the default sort order type used to order posts in GuildForum channels.
StickerFormatType - The format of the Sticker.
StickerType - type of sticker.
SystemChannelFlags - system channel flags.
TextInputStyle - Denotes if a text input is short form or paragraph form.
TimestampStyle - Timestamps will display the given timestamp in the user's timezone and locale.
TriggerType - Characterizes the type of content which can trigger the rule.
UserFlags - public flags on a User account, many display badges on a User profile.
VerificationLevel - verification level required for the guild.
VideoQualityMode - the camera video quality mode of the voice channel, 1 when not present.
WebhookType - the type of the webhook.