Categorygithub.com/blackmesadev/discordgo
modulepackage
0.25.8
Repository: https://github.com/blackmesadev/discordgo.git
Documentation: pkg.go.dev

# README

DiscordGo

Go Reference Go Report Card Build Status Discord Gophers Discord API

DiscordGo is a Go package that provides low level bindings to the Discord chat client API. DiscordGo has nearly complete support for all of the Discord API endpoints, websocket interface, and voice interface.

If you would like to help the DiscordGo package please use this link to add the official DiscordGo test bot dgo to your server. This provides indispensable help to this project.

  • See dgVoice package for an example of additional voice helper functions and features for DiscordGo.

  • See dca for an experimental stand alone tool that wraps ffmpeg to create opus encoded audio appropriate for use with Discord (and DiscordGo).

For help with this package or general Go discussion, please join the Discord Gophers chat server.

Getting Started

Installing

This assumes you already have a working Go environment, if not please see this page first.

go get will always pull the latest tagged release from the master branch.

go get github.com/blackmesadev/discordgo

Usage

Import the package into your project.

import "github.com/blackmesadev/discordgo"

Construct a new Discord client which can be used to access the variety of Discord API functions and to set callback functions for Discord events.

discord, err := discordgo.New("Bot " + "authentication token")

See Documentation and Examples below for more detailed information.

Documentation

NOTICE: This library and the Discord API are unfinished. Because of that there may be major changes to library in the future.

The DiscordGo code is fairly well documented at this point and is currently the only documentation available. Both GoDoc and GoWalker (below) present that information in a nice format.

  • Go Reference
  • Go Walker
  • Hand crafted documentation coming eventually.

Examples

Below is a list of examples and other projects using DiscordGo. Please submit an issue if you would like your project added or removed from this list.

Troubleshooting

For help with common problems please reference the Troubleshooting section of the project wiki.

Contributing

Contributions are very welcomed, however please follow the below guidelines.

  • First open an issue describing the bug or enhancement so it can be discussed.
  • Try to match current naming conventions as closely as possible.
  • This package is intended to be a low level direct mapping of the Discord API, so please avoid adding enhancements outside of that scope without first discussing it.
  • Create a Pull Request with your changes against the master branch.

List of Discord APIs

See this chart for a feature comparison and list of other Discord API libraries.

Special Thanks

Chris Rhodes - For the DiscordGo logo and tons of PRs.

# Packages

No description provided by the author

# Functions

MakeIntent used to help convert a gateway intent value for use in the Identify structure; this was useful to help support the use of a pointer type when intents were optional.
No description provided by the author
MultipartBodyWithJSON returns the contentType and body for a discord request data : The object to encode for payload_json in the multipart request files : Files to include in the request.
New creates a new Discord session and will automate some startup tasks if given enough information to do so.
NewMessageEdit returns a MessageEdit struct, initialized with the Channel and ID.
NewRatelimiter returns a new RateLimiter.
NewState creates an empty state.
SnowflakeTimestamp returns the creation time of a Snowflake ID relative to the creation of Discord.
VerifyInteraction implements message verification of the discord interactions api signing algorithm, as documented here: https://discord.com/developers/docs/interactions/receiving-and-responding#security-and-authorization.

# Constants

MessageComponent types.
Valid ActivityType values.
Valid ActivityType values.
Valid ActivityType values.
Valid ActivityType values.
Valid ActivityType values.
Valid ActivityType values.
The types of mentions used in MessageAllowedMentions.
The types of mentions used in MessageAllowedMentions.
The types of mentions used in MessageAllowedMentions.
Application command option types.
Application command option types.
Application command option types.
Application command option types.
Application command option types.
Application command option types.
Application command option types.
Application command option types.
Application command option types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block contains Discord Audit Log Action Types.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Block of valid AuditLogChangeKey.
Valid Types for AuditLogOptionsType.
Valid Types for AuditLogOptionsType.
MessageComponent types.
Block contains known ChannelType values.
Block contains known ChannelType values.
Block contains known ChannelType values.
Block contains known ChannelType values.
Block contains known ChannelType values.
Block contains known ChannelType values.
Block contains known ChannelType values.
ChatApplicationCommand is default command type.
DangerButton is a button with red color.
Block of valid EmbedTypes.
Block of valid EmbedTypes.
Block of valid EmbedTypes.
Block of valid EmbedTypes.
Block of valid EmbedTypes.
Block of valid EmbedTypes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block contains Discord JSON Error Response codes.
Block of valid ExpireBehaviors.
Block of valid ExpireBehaviors.
Constants for ExplicitContentFilterLevel levels from 0 to 2 inclusive.
Constants for ExplicitContentFilterLevel levels from 0 to 2 inclusive.
Constants for ExplicitContentFilterLevel levels from 0 to 2 inclusive.
FailedHeartbeatAcks is the Number of heartbeat intervals to wait until forcing a connection restart.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Constants for the different bit offsets of intents.
Interaction types.
Interaction types.
InteractionApplicationCommandAutocompleteResult shows autocompletion results.
InteractionDeadline is the time allowed to respond to an interaction.
Interaction types.
Interaction types.
InteractionResponseChannelMessageWithSource is for responding with a message, showing the user's input.
InteractionResponseDeferredChannelMessageWithSource acknowledges that the event was received, and that a follow-up will come later.
InteractionResponseDeferredMessageUpdate acknowledges that the message component interaction event was received, and message will be updated later.
InteractionResponsePong is for ACK ping event.
InteractionResponseUpdateMessage is for updating the message to which message component was attached.
LinkButton is a special type of button which navigates to a URL.
LogDebug level is for very detailed non-error activity.
LogError level is used for critical errors that could lead to data loss or panic that would not be returned to a calling function.
LogInformational level is used for normal non-error activity.
LogWarning level is used for very abnormal events and errors that are also returned to a calling function.
Constants for the different stages of the MembershipState.
Constants for the different stages of the MembershipState.
Constants for the different types of Message Activity.
Constants for the different types of Message Activity.
Constants for the different types of Message Activity.
Constants for the different types of Message Activity.
MessageApplicationCommand adds command to message context menu.
Valid MessageFlags values.
Valid MessageFlags values.
Valid MessageFlags values.
Valid MessageFlags values.
Valid MessageFlags values.
Block containing known MessageNotifications values.
Block containing known MessageNotifications values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Block contains the valid known MessageType values.
Constants for MfaLevel levels from 0 to 1 inclusive.
Constants for MfaLevel levels from 0 to 1 inclusive.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of text channel permissions.
Constants for the different bit offsets of general permissions.
Constants for general management.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of text channel permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for general management.
Constants for the different bit offsets of text channel permissions.
Constants for general management.
Constants for general management.
Constants for the different bit offsets of general permissions.
Constants for general management.
Constants for the different bit offsets of text channel permissions.
Constants for the different bit offsets of general permissions.
The possible permission overwrite types.
The possible permission overwrite types.
Constants for the different bit offsets of text channel permissions.
Deprecated: PermissionReadMessages has been replaced with PermissionViewChannel for text and voice channels.
Constants for the different bit offsets of text channel permissions.
Constants for the different bit offsets of text channel permissions.
Constants for the different bit offsets of text channel permissions.
Constants for the different bit offsets of text channel permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of general permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for the different bit offsets of voice permissions.
Constants for PremiumTier levels from 0 to 3 inclusive.
Constants for PremiumTier levels from 0 to 3 inclusive.
Constants for PremiumTier levels from 0 to 3 inclusive.
Constants for PremiumTier levels from 0 to 3 inclusive.
PrimaryButton is a button with blurple color.
SecondaryButton is a button with grey color.
MessageComponent types.
Constants for Status with the different current available status.
Constants for Status with the different current available status.
Constants for Status with the different current available status.
Constants for Status with the different current available status.
Constants for Status with the different current available status.
SuccessButton is a button with green color.
Block containing known SystemChannelFlag values.
Block containing known SystemChannelFlag values.
Block contains known TargetUserType values.
UserApplicationCommand adds command to user context menu.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Valid UserFlags values.
Constants for VerificationLevel levels from 0 to 4 inclusive.
Constants for VerificationLevel levels from 0 to 4 inclusive.
Constants for VerificationLevel levels from 0 to 4 inclusive.
Constants for VerificationLevel levels from 0 to 4 inclusive.
Constants for VerificationLevel levels from 0 to 4 inclusive.
VERSION of DiscordGo, follows Semantic Versioning.
Valid WebhookType values.
Valid WebhookType values.

# Variables

APIVersion is the Discord API version used for the REST and Websocket API.
EmojiRegex is the regex used to find and identify emojis in messages.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
TODO: Deprecated, remove in the next release.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
Known Discord API Endpoints.
All error constants.
All error constants.
All error constants.
ErrMessageIncompletePermissions is returned when the message requested for permissions does not contain enough data to generate the permissions.
ErrMFA will be risen by New when the user has 2FA.
ErrNilState is returned when the state is nil.
All error constants.
ErrStateNotFound is returned when the state cache requested is not found.
All error constants.
All error constants.
Discord JSON Error Response codes.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
All error constants.
ErrWSAlreadyOpen is thrown when you attempt to open a websocket that already is open.
ErrWSNotFound is thrown when you attempt to use a websocket that doesn't exist.
ErrWSShardBounds is thrown when you try to use a shard ID that is more than the total shard count.
Logger can be used to replace the standard logging for discordgo.

# Structs

An Ack is used to ack messages.
ActionsRow is a container for components within one row.
Activity defines the Activity sent with GatewayStatusUpdate https://discord.com/developers/docs/topics/gateway#activity-object.
An APIErrorMessage is an api error message returned from discord.
An Application struct stores values for a Discord OAuth2 Application.
ApplicationCommand represents an application's slash command.
ApplicationCommandInteractionData contains the data of application command interaction.
ApplicationCommandInteractionDataOption represents an option of a slash command.
ApplicationCommandInteractionDataResolved contains resolved data of command execution.
ApplicationCommandOption represents an option/subcommand/subcommands group.
ApplicationCommandOptionChoice represents a slash command option choice.
Asset struct stores values for an asset of an application.
An Assets struct contains assets and labels used in the rich presence "playing .." Game.
AuditLogChange for an AuditLogEntry.
AuditLogEntry for a GuildAuditLog https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-entry-structure.
AuditLogOptions optional data for the AuditLog https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-optional-audit-entry-info.
Bucket represents a ratelimit bucket, each bucket gets ratelimited individually (-global ratelimits).
Button represents button component.
A Channel holds all data related to an individual Discord channel.
ChannelCreate is the data for a ChannelCreate event.
ChannelDelete is the data for a ChannelDelete event.
A ChannelEdit holds Channel Field data for a channel edit.
A ChannelFollow holds data returned after following a news channel.
ChannelPinsUpdate stores data for a ChannelPinsUpdate event.
ChannelUpdate is the data for a ChannelUpdate event.
ComponentEmoji represents button emoji, if it does have one.
Connect is the data for a Connect event.
Context holds a bit of extra data we pass along to route handlers This way processing some of this only nees to happen once.
Disconnect is the data for a Disconnect event.
Emoji struct holds data related to Emoji's.
Event provides a basic initial struct for all websocket events.
File stores info about files you e.g.
FriendSourceFlags stores ..
GatewayBotResponse stores the data for the gateway/bot response.
GatewayStatusUpdate is sent by the client to indicate a presence or status update https://discord.com/developers/docs/topics/gateway#update-status-gateway-status-update-structure.
No description provided by the author
A Guild holds all data related to a specific Discord Guild.
A GuildAuditLog stores data for a guild audit log.
A GuildBan stores data for a guild ban.
GuildBanAdd is the data for a GuildBanAdd event.
GuildBanRemove is the data for a GuildBanRemove event.
GuildChannelCreateData is provided to GuildChannelCreateComplex.
GuildCreate is the data for a GuildCreate event.
GuildDelete is the data for a GuildDelete event.
A GuildEmbed stores data for a guild embed.
A GuildEmojisUpdate is the data for a guild emoji update event.
GuildIntegrationsUpdate is the data for a GuildIntegrationsUpdate event.
GuildMemberAdd is the data for a GuildMemberAdd event.
GuildMemberRemove is the data for a GuildMemberRemove event.
A GuildMembersChunk is the data for a GuildMembersChunk event.
GuildMemberUpdate is the data for a GuildMemberUpdate event.
A GuildParams stores all the data needed to update discord guild settings.
A GuildPreview holds data related to a specific public Discord Guild, even if the user is not in the guild.
A GuildRole stores data for guild roles.
GuildRoleCreate is the data for a GuildRoleCreate event.
A GuildRoleDelete is the data for a GuildRoleDelete event.
GuildRoleUpdate is the data for a GuildRoleUpdate event.
GuildUpdate is the data for a GuildUpdate event.
A ICEServer stores data for a specific voice ICE server.
Identify is sent during initial handshake with the discord gateway.
IdentifyProperties contains the "properties" portion of an Identify packet https://discord.com/developers/docs/topics/gateway#identify-identify-connection-properties.
Integration stores integration information.
IntegrationAccount is integration account information sent by the UserConnections endpoint.
Interaction represents data of an interaction.
InteractionCreate is the data for a InteractionCreate event.
InteractionResponse represents a response for an interaction event.
InteractionResponseData is response data for an interaction.
A Invite stores all data related to a specific Discord Guild or Channel invite.
A Member stores user information for Guild members.
A Message stores all data related to a specific Discord message.
MessageAck is the data for a MessageAck event.
MessageActivity is sent with Rich Presence-related chat embeds.
MessageAllowedMentions allows the user to specify which mentions Discord is allowed to parse in this message.
MessageApplication is sent with Rich Presence-related chat embeds.
A MessageAttachment stores data for message attachments.
MessageComponentInteractionData contains the data of message component interaction.
MessageCreate is the data for a MessageCreate event.
MessageDelete is the data for a MessageDelete event.
MessageDeleteBulk is the data for a MessageDeleteBulk event.
MessageEdit is used to chain parameters via ChannelMessageEditComplex, which is also where you should get the instance from.
An MessageEmbed stores data for message embeds.
MessageEmbedAuthor is a part of a MessageEmbed struct.
MessageEmbedField is a part of a MessageEmbed struct.
MessageEmbedFooter is a part of a MessageEmbed struct.
MessageEmbedImage is a part of a MessageEmbed struct.
MessageEmbedProvider is a part of a MessageEmbed struct.
MessageEmbedThumbnail is a part of a MessageEmbed struct.
MessageEmbedVideo is a part of a MessageEmbed struct.
MessageReaction stores the data for a message reaction.
MessageReactionAdd is the data for a MessageReactionAdd event.
MessageReactionRemove is the data for a MessageReactionRemove event.
MessageReactionRemoveAll is the data for a MessageReactionRemoveAll event.
MessageReactions holds a reactions object for a message.
MessageReference contains reference data sent with crossposted messages.
MessageSend stores all parameters you can send with ChannelMessageSendComplex.
MessageUpdate is the data for a MessageUpdate event.
A Packet contains the headers and content of a received voice packet.
Party defines the Party field in the Activity struct https://discord.com/developers/docs/topics/gateway#activity-object.
A PermissionOverwrite holds permission overwrite data for a Channel.
A Presence stores the online, offline, or idle and game status of Guild members.
PresenceUpdate is the data for a PresenceUpdate event.
RateLimit is the data for a RateLimit event.
RateLimiter holds all ratelimit buckets.
A ReadState stores data on the read state of channels.
A Ready stores all data for the websocket READY event.
A Relationship between the logged in user and Relationship.User.
RelationshipAdd is the data for a RelationshipAdd event.
RelationshipRemove is the data for a RelationshipRemove event.
RESTError stores error information about a request with a bad response code.
Resumed is the data for a Resumed event.
A Role stores information about Discord guild member roles.
Secrets defines the Secrets field for the Activity struct https://discord.com/developers/docs/topics/gateway#activity-object.
SelectMenu represents select menu component.
SelectMenuOption represents an option for a select menu.
A Session represents a connection to the Discord API.
SessionInformation provides the information for max concurrency sharding.
A Settings stores data for a specific users Discord client settings.
A State contains the current known state.
A Team struct stores the members of a Discord Developer Team as well as some metadata about it.
A TeamMember struct stores values for a single Team Member, extending the normal User data - note that the user field is partial.
A TimeStamps struct contains start and end times used in the rich presence "playing .." Game.
A TooManyRequests struct holds information received from Discord when receiving a HTTP 429 response.
TypingStart is the data for a TypingStart event.
UpdateStatusData ia provided to UpdateStatusComplex().
A User stores all data for an individual Discord user.
UserConnection is a Connection returned from the UserConnections endpoint.
A UserGuild holds a brief version of a Guild.
A UserGuildSettings stores data for a users guild settings.
A UserGuildSettingsChannelOverride stores data for a channel override for a users guild settings.
A UserGuildSettingsEdit stores data for editing UserGuildSettings.
UserGuildSettingsUpdate is the data for a UserGuildSettingsUpdate event.
UserNoteUpdate is the data for a UserNoteUpdate event.
UserUpdate is the data for a UserUpdate event.
A VoiceConnection struct holds all the data and functions related to a Discord Voice Connection.
A VoiceICE stores data for voice ICE servers.
A VoiceRegion stores data for a specific voice region server.
VoiceServerUpdate is the data for a VoiceServerUpdate event.
VoiceSpeakingUpdate is a struct for a VoiceSpeakingUpdate event.
A VoiceState stores the voice states of Guilds.
VoiceStateUpdate is the data for a VoiceStateUpdate event.
Webhook stores the data for a webhook.
WebhookEdit stores data for editing of a webhook message.
WebhookParams is a struct for webhook params, used in the WebhookExecute command.
WebhooksUpdate is the data for a WebhooksUpdate event.

# Interfaces

EventHandler is an interface for Discord events.
EventInterfaceProvider is an interface for providing empty interfaces for Discord events.
InteractionData is a common interface for all types of interaction data.
MessageComponent is a base interface for all message components.

# Type aliases

ActivityType is the type of Activity (see ActivityType* consts) in the Activity struct https://discord.com/developers/docs/topics/gateway#activity-object-activity-types.
AllowedMentionType describes the types of mentions used in the MessageAllowedMentions type.
ApplicationCommandOptionType indicates the type of a slash command's option.
ApplicationCommandType represents the type of application command.
AuditLogAction is the Action of the AuditLog (see AuditLogAction* consts) https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events.
AuditLogChangeKey value for AuditLogChange https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-key.
AuditLogOptionsType of the AuditLogOption https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-optional-audit-entry-info.
ButtonStyle is style of button.
ChannelType is the type of a Channel.
ComponentType is type of component.
EmbedType is the type of embed https://discord.com/developers/docs/resources/channel#embed-object-embed-types.
ExpireBehavior of Integration https://discord.com/developers/docs/resources/guild#integration-object-integration-expire-behaviors.
ExplicitContentFilterLevel type definition.
Intent is the type of a Gateway Intent https://discord.com/developers/docs/topics/gateway#gateway-intents.
InteractionResponseType is type of interaction response.
InteractionType indicates the type of an interaction event.
The MembershipState represents whether the user is in the team or has been invited into it.
MessageActivityType is the type of message activity.
MessageFlags is the flags of "message" (see MessageFlags* consts) https://discord.com/developers/docs/resources/channel#message-object-message-flags.
MessageNotifications is the notification level for a guild https://discord.com/developers/docs/resources/guild#guild-object-default-message-notification-level.
MessageType is the type of Message https://discord.com/developers/docs/resources/channel#message-object-message-types.
MfaLevel type definition.
PermissionOverwriteType represents the type of resource on which a permission overwrite acts.
PremiumTier type definition.
PresencesReplace is the data for a PresencesReplace event.
Roles are a collection of Role.
Status type definition.
SystemChannelFlag is the type of flags in the system channel (see SystemChannelFlag* consts) https://discord.com/developers/docs/resources/guild#guild-object-system-channel-flags.
TargetUserType is the type of the target user https://discord.com/developers/docs/resources/invite#invite-object-target-user-types.
UserFlags is the flags of "user" (see UserFlags* consts) https://discord.com/developers/docs/resources/user#user-object-user-flags.
UserSettingsUpdate is the data for a UserSettingsUpdate event.
VerificationLevel type definition.
VoiceSpeakingUpdateHandler type provides a function definition for the VoiceSpeakingUpdate event.
WebhookType is the type of Webhook (see WebhookType* consts) in the Webhook struct https://discord.com/developers/docs/resources/webhook#webhook-object-webhook-types.