disgo package - github.com/switchupcb/disgo - Go Packages (original) (raw)

Code generated by github.com/switchupcb/disgo/_gen/tools/bundle. DO NOT EDIT.

View Source

const ( FlagGatewayOpcodeDispatch = 0 FlagGatewayOpcodeHeartbeat = 1 FlagGatewayOpcodeIdentify = 2 FlagGatewayOpcodePresenceUpdate = 3 FlagGatewayOpcodeVoiceStateUpdate = 4 FlagGatewayOpcodeResume = 6 FlagGatewayOpcodeReconnect = 7 FlagGatewayOpcodeRequestGuildMembers = 8 FlagGatewayOpcodeInvalidSession = 9 FlagGatewayOpcodeHello = 10 FlagGatewayOpcodeHeartbeatACK = 11 FlagGatewayOpcodeRequestSoundboardSounds = 31 )

Gateway Opcodeshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-opcodes

View Source

const ( FlagVoiceOpcodeIdentify = 0 FlagVoiceOpcodeSelectProtocol = 1 FlagVoiceOpcodeReadyServer = 2 FlagVoiceOpcodeHeartbeat = 3 FlagVoiceOpcodeSessionDescription = 4 FlagVoiceOpcodeSpeaking = 5 FlagVoiceOpcodeHeartbeatACK = 6 FlagVoiceOpcodeResume = 7 FlagVoiceOpcodeHello = 8 FlagVoiceOpcodeResumed = 9 FlagVoiceOpcodeClientsConnect = 11 FlagVoiceOpcodeClientDisconnect = 13 FlagVoiceOpcodeDAVEPrepareTransition = 21 FlagVoiceOpcodeDAVEExecuteTransition = 22 FlagVoiceOpcodeDAVETransitionReady = 23 FlagVoiceOpcodeDAVEPrepareEpoch = 24 FlagVoiceOpcodeDAVEMLSExternalSender = 25 FlagVoiceOpcodeDAVEMLSKeyPackage = 26 FlagVoiceOpcodeDAVEMLSProposals = 27 FlagVoiceOpcodeDAVEMLSCommitWelcome = 28 FlagVoiceOpcodeDAVEMLSAnnounceCommitTransition = 29 FlagVoiceOpcodeDAVEMLSWelcome = 30 FlagVoiceOpcodeDAVEMLSInvalidCommitWelcome = 31 )

Voice Opcodeshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#voice-voice-opcodes

View Source

const ( FlagHTTPResponseCodeOK = 200 FlagHTTPResponseCodeCREATED = 201 FlagHTTPResponseCodeNOCONTENT = 204 FlagHTTPResponseCodeNOTMODIFIED = 304 FlagHTTPResponseCodeBADREQUEST = 400 FlagHTTPResponseCodeFORBIDDEN = 403 FlagHTTPResponseCodeNOTFOUND = 404 FlagHTTPResponseCodeMETHODNOTALLOWED = 405 FlagHTTPResponseCodeTOOMANYREQUESTS = 429 FlagHTTPResponseCodeGATEWAYUNAVAILABLE = 502 FlagHTTPResponseCodeSERVERERROR = 500 )

HTTP Response Codeshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#http-http-response-codes

View Source

const ( FlagRPCErrorCodeUnknownError = 1000 FlagRPCErrorCodeInvalidPayload = 4000 FlagRPCErrorCodeInvalidCommand = 4002 FlagRPCErrorCodeInvalidGuild = 4003 FlagRPCErrorCodeInvalidEvent = 4004 FlagRPCErrorCodeInvalidChannel = 4005 FlagRPCErrorCodeInvalidPermissions = 4006 FlagRPCErrorCodeInvalidClientID = 4007 FlagRPCErrorCodeInvalidOrigin = 4008 FlagRPCErrorCodeInvalidToken = 4009 FlagRPCErrorCodeInvalidUser = 4010 FlagRPCErrorCodeOAuth2Error = 5000 FlagRPCErrorCodeSelectChannelTimedOut = 5001 FlagRPCErrorCodeGET_GUILDTimedOut = 5002 FlagRPCErrorCodeSelectVoiceForceRequired = 5003 FlagRPCErrorCodeCaptureShortcutAlreadyListening = 5004 )

RPC Error Codeshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#rpc-rpc-error-codes

View Source

const ( FlagRPCCloseEventCodeInvalidClientID = 4000 FlagRPCCloseEventCodeInvalidOrigin = 4001 FlagRPCCloseEventCodeRateLimited = 4002 FlagRPCCloseEventCodeTokenRevoked = 4003 FlagRPCCloseEventCodeInvalidVersion = 4004 FlagRPCCloseEventCodeInvalidEncoding = 4005 )

RPC Close Event Codeshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#rpc-rpc-close-event-codes

View Source

const ( FlagGatewaySendEventNameHeartbeat = "Heartbeat" FlagGatewaySendEventNameIdentify = "Identify" FlagGatewaySendEventNameUpdatePresence = "UpdatePresence" FlagGatewaySendEventNameUpdateVoiceState = "UpdateVoiceState " FlagGatewaySendEventNameResume = "Resume" FlagGatewaySendEventNameRequestGuildMembers = "RequestGuildMembers" FlagGatewaySendEventNameRequestSoundboardSounds = "RequestSoundboardSounds" )

Gateway SendEvent Nameshttps://discord.com/developers/docs/topics/gateway-events#send-events

View Source

const ( FlagStatusTypeOnline = "online" FlagStatusTypeDoNotDisturb = "dnd" FlagStatusTypeAFK = "idle" FlagStatusTypeInvisible = "invisible" FlagStatusTypeOffline = "offline" )

Status Typeshttps://discord.com/developers/docs/topics/gateway#update-presence-status-types

View Source

const ( FlagGatewayEventNameHello = "HELLO" FlagGatewayEventNameReady = "READY" FlagGatewayEventNameResumed = "RESUMED" FlagGatewayEventNameReconnect = "RECONNECT" FlagGatewayEventNameInvalidSession = "INVALID_SESSION" FlagGatewayEventNameApplicationCommandPermissionsUpdate = "APPLICATION_COMMAND_PERMISSIONS_UPDATE" FlagGatewayEventNameAutoModerationRuleCreate = "AUTO_MODERATION_RULE_CREATE" FlagGatewayEventNameAutoModerationRuleUpdate = "AUTO_MODERATION_RULE_UPDATE" FlagGatewayEventNameAutoModerationRuleDelete = "AUTO_MODERATION_RULE_DELETE" FlagGatewayEventNameAutoModerationActionExecution = "AUTO_MODERATION_ACTION_EXECUTION" FlagGatewayEventNameChannelCreate = "CHANNEL_CREATE" FlagGatewayEventNameChannelUpdate = "CHANNEL_UPDATE" FlagGatewayEventNameChannelDelete = "CHANNEL_DELETE" FlagGatewayEventNameChannelPinsUpdate = "CHANNEL_PINS_UPDATE" FlagGatewayEventNameThreadCreate = "THREAD_CREATE" FlagGatewayEventNameThreadUpdate = "THREAD_UPDATE" FlagGatewayEventNameThreadDelete = "THREAD_DELETE" FlagGatewayEventNameThreadListSync = "THREAD_LIST_SYNC" FlagGatewayEventNameThreadMemberUpdate = "THREAD_MEMBER_UPDATE" FlagGatewayEventNameThreadMembersUpdate = "THREAD_MEMBERS_UPDATE" FlagGatewayEventNameEntitlementCreate = "ENTITLEMENT_CREATE" FlagGatewayEventNameEntitlementUpdate = "ENTITLEMENT_UPDATE" FlagGatewayEventNameEntitlementDelete = "ENTITLEMENT_DELETE" FlagGatewayEventNameGuildCreate = "GUILD_CREATE" FlagGatewayEventNameGuildUpdate = "GUILD_UPDATE" FlagGatewayEventNameGuildDelete = "GUILD_DELETE" FlagGatewayEventNameGuildAuditLogEntryCreate = "GUILD_AUDIT_LOG_ENTRY_CREATE" FlagGatewayEventNameGuildBanAdd = "GUILD_BAN_ADD" FlagGatewayEventNameGuildBanRemove = "GUILD_BAN_REMOVE" FlagGatewayEventNameGuildEmojisUpdate = "GUILD_EMOJIS_UPDATE" FlagGatewayEventNameGuildStickersUpdate = "GUILD_STICKERS_UPDATE" FlagGatewayEventNameGuildIntegrationsUpdate = "GUILD_INTEGRATIONS_UPDATE" FlagGatewayEventNameGuildMemberAdd = "GUILD_MEMBER_ADD" FlagGatewayEventNameGuildMemberRemove = "GUILD_MEMBER_REMOVE" FlagGatewayEventNameGuildMemberUpdate = "GUILD_MEMBER_UPDATE" FlagGatewayEventNameGuildMembersChunk = "GUILD_MEMBERS_CHUNK" FlagGatewayEventNameGuildRoleCreate = "GUILD_ROLE_CREATE" FlagGatewayEventNameGuildRoleUpdate = "GUILD_ROLE_UPDATE" FlagGatewayEventNameGuildRoleDelete = "GUILD_ROLE_DELETE" FlagGatewayEventNameGuildScheduledEventCreate = "GUILD_SCHEDULED_EVENT_CREATE" FlagGatewayEventNameGuildScheduledEventUpdate = "GUILD_SCHEDULED_EVENT_UPDATE" FlagGatewayEventNameGuildScheduledEventDelete = "GUILD_SCHEDULED_EVENT_DELETE" FlagGatewayEventNameGuildScheduledEventUserAdd = "GUILD_SCHEDULED_EVENT_USER_ADD" FlagGatewayEventNameGuildScheduledEventUserRemove = "GUILD_SCHEDULED_EVENT_USER_REMOVE" FlagGatewayEventNameGuildSoundboardSoundCreate = "GUILD_SOUNDBOARD_SOUND_CREATE" FlagGatewayEventNameGuildSoundboardSoundUpdate = "GUILD_SOUNDBOARD_SOUND_UPDATE" FlagGatewayEventNameGuildSoundboardSoundDelete = "GUILD_SOUNDBOARD_SOUND_DELETE" FlagGatewayEventNameGuildSoundboardSoundsUpdate = "GUILD_SOUNDBOARD_SOUNDS_UPDATE" FlagGatewayEventNameSoundboardSounds = "SOUNDBOARD_SOUNDS" FlagGatewayEventNameIntegrationCreate = "INTEGRATION_CREATE" FlagGatewayEventNameIntegrationUpdate = "INTEGRATION_UPDATE" FlagGatewayEventNameIntegrationDelete = "INTEGRATION_DELETE" FlagGatewayEventNameInteractionCreate = "INTERACTION_CREATE" FlagGatewayEventNameInviteCreate = "INVITE_CREATE" FlagGatewayEventNameInviteDelete = "INVITE_DELETE" FlagGatewayEventNameMessageCreate = "MESSAGE_CREATE" FlagGatewayEventNameMessageUpdate = "MESSAGE_UPDATE" FlagGatewayEventNameMessageDelete = "MESSAGE_DELETE" FlagGatewayEventNameMessageDeleteBulk = "MESSAGE_DELETE_BULK" FlagGatewayEventNameMessageReactionAdd = "MESSAGE_REACTION_ADD" FlagGatewayEventNameMessageReactionRemove = "MESSAGE_REACTION_REMOVE" FlagGatewayEventNameMessageReactionRemoveAll = "MESSAGE_REACTION_REMOVE_ALL" FlagGatewayEventNameMessageReactionRemoveEmoji = "MESSAGE_REACTION_REMOVE_EMOJI" FlagGatewayEventNamePresenceUpdate = "PRESENCE_UPDATE" FlagGatewayEventNameStageInstanceCreate = "STAGE_INSTANCE_CREATE" FlagGatewayEventNameStageInstanceDelete = "STAGE_INSTANCE_DELETE" FlagGatewayEventNameStageInstanceUpdate = "STAGE_INSTANCE_UPDATE" FlagGatewayEventNameSubscriptionCreate = "SUBSCRIPTION_CREATE" FlagGatewayEventNameSubscriptionUpdate = "SUBSCRIPTION_UPDATE" FlagGatewayEventNameSubscriptionDelete = "SUBSCRIPTION_DELETE" FlagGatewayEventNameTypingStart = "TYPING_START" FlagGatewayEventNameUserUpdate = "USER_UPDATE" FlagGatewayEventNameVoiceChannelEffectSend = "VOICE_CHANNEL_EFFECT_SEND" FlagGatewayEventNameVoiceStateUpdate = "VOICE_STATE_UPDATE" FlagGatewayEventNameVoiceServerUpdate = "VOICE_SERVER_UPDATE" FlagGatewayEventNameWebhooksUpdate = "WEBHOOKS_UPDATE" FlagGatewayEventNameMessagePollVoteAdd = "MESSAGE_POLL_VOTE_ADD" FlagGatewayEventNameMessagePollVoteRemove = "MESSAGE_POLL_VOTE_REMOVE" )

Gateway Event Nameshttps://discord.com/developers/docs/topics/gateway-events

View Source

const ( FlagRateLimitHeaderRemaining = "X-RateLimit-Remaining" )

Rate Limit Headershttps://discord.com/developers/docs/topics/rate-limits#header-format-rate-limit-header-examples

View Source

const ( RateLimitScopeValueUser = "user" RateLimitScopeValueGlobal = "global" RateLimitScopeValueShared = "shared" )

Rate Limit Scope Valueshttps://discord.com/developers/docs/topics/rate-limits#header-format-rate-limit-header-examples

View Source

const (

FlagGlobalRateLimitRequest = 50


FlagGlobalRateLimitGateway         = 120
FlagGlobalRateLimitGatewayInterval = [time](/time).[Minute](/time#Minute)


FlagGlobalRateLimitIdentifyInterval = [time](/time).[Second](/time#Second) * 5


FlagGlobalRateLimitIdentifyDaily         = 1000
FlagGlobalRateLimitIdentifyDailyInterval = [time](/time).[Hour](/time#Hour) * 24

)

Global Rate Limitshttps://discord.com/developers/docs/topics/rate-limits#global-rate-limit

View Source

const ( VersionDiscordAPI = "10" VersionDiscordVoiceGateway = "7" )

Versionhttps://discord.com/developers/docs/reference#api-versioning

View Source

const ( ImageFormatJPEG = "JPEG" ImageFormatPNG = "PNG" ImageFormatWebP = "WebP" ImageFormatGIF = "GIF" ImageFormatLottie = "Lottie" )

Image Formatshttps://discord.com/developers/docs/reference#image-formatting-image-formats

View Source

const ( CDNEndpointAnimatedHashPrefix = "a_" CDNEndpointUserDiscriminatorDivisor = 5 )

CDN Endpoint Exceptionshttps://discord.com/developers/docs/reference#image-formatting-cdn-endpoints

View Source

const ( FlagLocalesDanish = "da" FlagLocalesGerman = "de" FlagLocalesEnglishUK = "en-GB" FlagLocalesEnglishUS = "en-US" FlagLocalesSpanish = "es-ES" FlagLocalesFrench = "fr" FlagLocalesCroatian = "hr" FlagLocalesIndonesian = "id" FlagLocalesItalian = "it" FlagLocalesLithuanian = "lt" FlagLocalesHungarian = "hu" FlagLocalesDutch = "nl" FlagLocalesNorwegian = "no" FlagLocalesPolish = "pl" FlagLocalesPortugueseBrazilian = "pt-BR" FlagLocalesRomanian = "ro" FlagLocalesFinnish = "fi" FlagLocalesSwedish = "sv-SE" FlagLocalesVietnamese = "vi" FlagLocalesTurkish = "tr" FlagLocalesCzech = "cs" FlagLocalesGreek = "el" FlagLocalesBulgarian = "bg" FlagLocalesRussian = "ru" FlagLocalesUkrainian = "uk" FlagLocalesHindi = "hi" FlagLocalesThai = "th" FlagLocalesChineseChina = "zh-CN" FlagLocalesJapanese = "ja" FlagLocalesChineseTaiwan = "zh-TW" FlagLocalesKorean = "ko" )

Localeshttps://discord.com/developers/docs/reference#locales

View Source

const ( FlagWidgetStyleOptionShield = "shield" )

Widget Style Optionshttps://discord.com/developers/docs/resources/guild#get-guild-widget-image-widget-style-options

View Source

const ( FlagEmbedLimitTitle = 256 FlagEmbedLimitDescription = 4096 FlagEmbedLimitFields = 25 FlagEmbedLimitFieldName = 256 FlagEmbedLimitFieldValue = 1024 FlagEmbedLimitAuthorName = 256 )

Embed Limitshttps://discord.com/developers/docs/resources/channel#embed-object-embed-limits

View Source

const ( FlagAllowedMentionTypeRoles = "roles" FlagAllowedMentionTypeUsers = "users" FlagAllowedMentionTypeEveryone = "everyone" )

Allowed Mention Typeshttps://discord.com/developers/docs/resources/channel#allowed-mentions-object-allowed-mentions-structure

View Source

const ( FlagReactionTypeNORMAL = 0 FlagReactionTypeBURST = 1 )

Reaction Typeshttps://discord.com/developers/docs/resources/message#get-reactions-reaction-types

View Source

const ( FlagGuildFeatureANIMATED_ICON = "ANIMATED_ICON" FlagGuildFeatureAPPLICATION_COMMAND_PERMISSIONS_V2 = "APPLICATION_COMMAND_PERMISSIONS_V2" FlagGuildFeatureAUTO_MODERATION = "AUTO_MODERATION" FlagGuildFeatureCREATOR_MONETIZABLE_PROVISIONAL = "CREATOR_MONETIZABLE_PROVISIONAL" FlagGuildFeatureCREATOR_STORE_PAGE = "CREATOR_STORE_PAGE" FlagGuildFeatureDEVELOPER_SUPPORT_SERVER = "DEVELOPER_SUPPORT_SERVER" FlagGuildFeatureDISCOVERABLE = "DISCOVERABLE" FlagGuildFeatureFEATURABLE = "FEATURABLE" FlagGuildFeatureINVITES_DISABLED = "INVITES_DISABLED" FlagGuildFeatureINVITE_SPLASH = "INVITE_SPLASH" FlagGuildFeatureMEMBER_VERIFICATION_GATE_ENABLED = "MEMBER_VERIFICATION_GATE_ENABLED" FlagGuildFeatureMORE_STICKERS = "MORE_STICKERS" FlagGuildFeatureNEWS = "NEWS" FlagGuildFeaturePARTNERED = "PARTNERED" FlagGuildFeaturePREVIEW_ENABLED = "PREVIEW_ENABLED" FlagGuildFeatureRAID_ALERTS_DISABLED = "RAID_ALERTS_DISABLED" FlagGuildFeatureROLE_ICONS = "ROLE_ICONS" FlagGuildFeatureROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE = "ROLE_SUBSCRIPTIONS_AVAILABLE_FOR_PURCHASE" FlagGuildFeatureROLE_SUBSCRIPTIONS_ENABLED = "ROLE_SUBSCRIPTIONS_ENABLED" FlagGuildFeatureTICKETED_EVENTS_ENABLED = "TICKETED_EVENTS_ENABLED" FlagGuildFeatureVANITY_URL = "VANITY_URL" FlagGuildFeatureVERIFIED = "VERIFIED" FlagGuildFeatureVIP_REGIONS = "VIP_REGIONS" FlagGuildFeatureWELCOME_SCREEN_ENABLED = "WELCOME_SCREEN_ENABLED" )

Guild Featureshttps://discord.com/developers/docs/resources/guild#guild-object-guild-features

View Source

const ( FlagPromptTypeMULTIPLE_CHOICE = 0 FlagPromptTypeDROPDOWN = 1 )

Prompt Typeshttps://discord.com/developers/docs/resources/guild#guild-onboarding-object-prompt-types

View Source

const ( FlagTeamMemberRoleTypeOwner = "" FlagTeamMemberRoleTypeAdmin = "admin" FlagTeamMemberRoleTypeDeveloper = "developer" FlagTeamMemberRoleTypeReadOnly = "read_only" )

Team Member Role Typeshttps://discord.com/developers/docs/topics/teams#team-member-roles-team-member-role-types

View Source

const ( FlagOAuth2ScopeActivitiesRead = "activities.read" FlagOAuth2ScopeActivitiesWrite = "activities.write" FlagOAuth2ScopeApplicationsBuildsRead = "applications.builds.read" FlagOAuth2ScopeApplicationsBuildsUpload = "applications.builds.upload" FlagOAuth2ScopeApplicationsCommands = "applications.commands" FlagOAuth2ScopeApplicationsCommandsUpdate = "applications.commands.update" FlagOAuth2ScopeApplicationsCommandsPermissionsUpdate = "applications.commands.permissions.update" FlagOAuth2ScopeApplicationsEntitlements = "applications.entitlements" FlagOAuth2ScopeApplicationsStoreUpdate = "applications.store.update" FlagOAuth2ScopeBot = "bot" FlagOAuth2ScopeConnections = "connections" FlagOAuth2ScopeDM_channelsRead = "dm_channels.read" FlagOAuth2ScopeEmail = "email" FlagOAuth2ScopeGDMJoin = "gdm.join" FlagOAuth2ScopeGuilds = "guilds" FlagOAuth2ScopeGuildsJoin = "guilds.join" FlagOAuth2ScopeGuildsMembersRead = "guilds.members.read" FlagOAuth2ScopeIdentify = "identify" FlagOAuth2ScopeMessagesRead = "messages.read" FlagOAuth2ScopeRelationshipsRead = "relationships.read" FlagOAuth2ScopeRoleConnectionsWrite = "role_connections.write" FlagOAuth2ScopeRPC = "rpc" FlagOAuth2ScopeRPCActivitiesWrite = "rpc.activities.write" FlagOAuth2ScopeRPCNotificationsRead = "rpc.notifications.read" FlagOAuth2ScopeRPCVoiceRead = "rpc.voice.read" FlagOAuth2ScopeRPCVoiceWrite = "rpc.voice.write" FlagOAuth2ScopeVoice = "voice" FlagOAuth2ScopeWebhookIncoming = "webhook.incoming" )

OAuth2 Scopeshttps://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes

View Source

const ( FlagVoiceOpcodeNameIdentify = "IDENTIFY" FlagVoiceOpcodeNameSelectProtocol = "SELECT_PROTOCOL" FlagVoiceOpcodeNameReady = "READY" FlagVoiceOpcodeNameHeartbeat = "HEARTBEAT" FlagVoiceOpcodeNameSessionDescription = "SESSION_DESCRIPTION" FlagVoiceOpcodeNameSpeaking = "SPEAKING" FlagVoiceOpcodeNameResume = "RESUME" FlagVoiceOpcodeNameHello = "HELLO" FlagVoiceOpcodeNameResumed = "RESUMED" FlagVoiceOpcodeNameClientDisconnect = "CLIENT_DISCONNECT" )

Voice Server Opcode (Event) Nameshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#voice-voice-opcodes

View Source

const ( FlagVoiceSendEventNameIdentify = "Identify" FlagVoiceSendEventNameSelectProtocol = "SelectProtocol " FlagVoiceSendEventNameHeartbeat = "Heartbeat" FlagVoiceSendEventNameSpeaking = "Speaking" FlagVoiceSendEventNameResume = "Resume" )

Voice Server SendEvent Nameshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#voice-voice-opcodes

View Source

const ( FlagVoiceEncryptionModeAES256 = "aead_aes256_gcm_rtpsize" FlagVoiceEncryptionModeXChaCha20 = "aead_xchacha20_poly1305_rtpsize" )

Voice Connection Encryption Modeshttps://discord.com/developers/docs/topics/voice-connections#establishing-a-voice-udp-connection-encryption-modes

View Source

const ( EndpointBaseURL = "https://discord.com/api/v" + VersionDiscordAPI + "/" CDNEndpointBaseURL = "https://cdn.discordapp.com/" )

Discord API Endpoints

View Source

const ( ErrorEventActionUnmarshal = "unmarshalling" ErrorEventActionMarshal = "marshalling" ErrorEventActionRead = "reading" ErrorEventActionWrite = "writing" )

View Source

const ( ErrorSessionTypeGateway = "Discord Gateway" ErrorSessionTypeVoice = "Discord Voice" )

View Source

const (

LogCtxClient = "client"


LogCtxCorrelation = "xid"


LogCtxRequest = "request"


LogCtxRoute = "route"


LogCtxResource = "resource"


LogCtxEndpoint = "endpoint"


LogCtxRequestBody = "body"


LogCtxBucket = "bucket"


LogCtxReset = "reset"


LogCtxResponse = "response"

LogCtxResponseHeader = "header"


LogCtxResponseBody = "body"


LogCtxRequestRateLimitCode = "code"


LogCtxSession = "session"


LogCtxPayload = "payload"


LogCtxPayloadOpcode = "opcode"


LogCtxPayloadData = "data"


LogCtxEvent = "event"


LogCtxCommand = "command"


LogCtxCommandOpcode = "opcode"


LogCtxCommandName = "name"

)

Logger Contexts

View Source

const ( SessionStateNew = ""

SessionStateConnecting          = "connecting (before websocket connection)"
SessionStateConnectingWebsocket = "connecting (with websocket connection)"
SessionStateConnected           = "connected"

SessionStateDisconnecting          = "disconnecting (purposefully)"
SessionStateDisconnectingError     = "disconnecting (due to an error)"
SessionStateDisconnectingReconnect = "disconnecting (while reconnecting)"

SessionStateDisconnectedFinal     = "disconnected (after connection)"
SessionStateDisconnectedError     = "disconnected (due to an error)"
SessionStateDisconnectedReconnect = "disconnected (while reconnecting)"

SessionStateReconnecting = "reconnecting"

)

Session States represent the state of the Session's connection to Discord.

View Source

const (

FlagInvalidRequestRateLimit = 10000

)

Invalid Request Limit (CloudFlare Bans)https://discord.com/developers/docs/topics/rate-limits#invalid-request-limit-aka-cloudflare-bans

View Source

const (

SessionManagerVoiceKeyUnknownSession = "UNKNOWN"

)

time.Time Formathttps://discord.com/developers/docs/reference#iso8601-datetime

View Source

var ( FlagGatewayCloseEventCodeUnknownError = GatewayCloseEventCode{ Code: 4000, Description: "Unknown error", Explanation: "We're not sure what went wrong. Try reconnecting?", Reconnect: true, }

FlagGatewayCloseEventCodeUnknownOpcode = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4001,
    Description: "Unknown opcode",
    Explanation: "You sent an invalid Gateway opcode or an invalid payload for an opcode. Don't do that!",
    Reconnect:   [true](/builtin#true),
}

FlagGatewayCloseEventCodeDecodeError = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4002,
    Description: "Decode error",
    Explanation: "You sent an invalid payload to us. Don't do that!",
    Reconnect:   [true](/builtin#true),
}

FlagGatewayCloseEventCodeNotAuthenticated = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4003,
    Description: "Not authenticated",
    Explanation: "You sent us a payload prior to identifying.",
    Reconnect:   [true](/builtin#true),
}

FlagGatewayCloseEventCodeAuthenticationFailed = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4004,
    Description: "Authentication failed",
    Explanation: "The account token sent with your identify payload is incorrect.",
    Reconnect:   [false](/builtin#false),
}

FlagGatewayCloseEventCodeAlreadyAuthenticated = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4005,
    Description: "Already authenticated",
    Explanation: "You sent more than one identify payload. Don't do that!",
    Reconnect:   [true](/builtin#true),
}

FlagGatewayCloseEventCodeInvalidSeq = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4007,
    Description: "Invalid seq",
    Explanation: "The sequence sent when resuming the session was invalid. Reconnect and start a new session.",
    Reconnect:   [true](/builtin#true),
}

FlagGatewayCloseEventCodeRateLimited = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4008,
    Description: "Rate limited.",
    Explanation: "You're sending payloads to us too quickly. Slow it down! You will be disconnected on receiving this.",
    Reconnect:   [true](/builtin#true),
}

FlagGatewayCloseEventCodeSessionTimed = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4009,
    Description: "Session timed out",
    Explanation: "Your session timed out. Reconnect and start a new one.",
    Reconnect:   [true](/builtin#true),
}

FlagGatewayCloseEventCodeInvalidShard = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4010,
    Description: "Invalid shard",
    Explanation: "You sent us an invalid shard when identifying.",
    Reconnect:   [false](/builtin#false),
}

FlagGatewayCloseEventCodeShardingRequired = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4011,
    Description: "Sharding required",
    Explanation: "The session would have handled too many guilds - you are required to shard your connection in order to connect.",
    Reconnect:   [false](/builtin#false),
}

FlagGatewayCloseEventCodeInvalidAPIVersion = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4012,
    Description: "Invalid API version",
    Explanation: "You sent an invalid version for the gateway.",
    Reconnect:   [false](/builtin#false),
}

FlagGatewayCloseEventCodeInvalidIntent = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4013,
    Description: "Invalid intent(s)",
    Explanation: "You sent an invalid intent for a Gateway Intent. You may have incorrectly calculated the bitwise value.",
    Reconnect:   [false](/builtin#false),
}

FlagGatewayCloseEventCodeDisallowedIntent = [GatewayCloseEventCode](#GatewayCloseEventCode){
    Code:        4014,
    Description: "Disallowed intent(s)",
    Explanation: "You sent a disallowed intent for a Gateway Intent. You may have tried to specify an intent that you have not enabled or are not approved for.",
    Reconnect:   [false](/builtin#false),
}

GatewayCloseEventCodes = map[[int](/builtin#int)]*[GatewayCloseEventCode](#GatewayCloseEventCode){
    [FlagGatewayCloseEventCodeUnknownError](#FlagGatewayCloseEventCodeUnknownError).Code:         &[FlagGatewayCloseEventCodeUnknownError](#FlagGatewayCloseEventCodeUnknownError),
    [FlagGatewayCloseEventCodeUnknownOpcode](#FlagGatewayCloseEventCodeUnknownOpcode).Code:        &[FlagGatewayCloseEventCodeUnknownOpcode](#FlagGatewayCloseEventCodeUnknownOpcode),
    [FlagGatewayCloseEventCodeDecodeError](#FlagGatewayCloseEventCodeDecodeError).Code:          &[FlagGatewayCloseEventCodeDecodeError](#FlagGatewayCloseEventCodeDecodeError),
    [FlagGatewayCloseEventCodeNotAuthenticated](#FlagGatewayCloseEventCodeNotAuthenticated).Code:     &[FlagGatewayCloseEventCodeNotAuthenticated](#FlagGatewayCloseEventCodeNotAuthenticated),
    [FlagGatewayCloseEventCodeAuthenticationFailed](#FlagGatewayCloseEventCodeAuthenticationFailed).Code: &[FlagGatewayCloseEventCodeAuthenticationFailed](#FlagGatewayCloseEventCodeAuthenticationFailed),
    [FlagGatewayCloseEventCodeAlreadyAuthenticated](#FlagGatewayCloseEventCodeAlreadyAuthenticated).Code: &[FlagGatewayCloseEventCodeAlreadyAuthenticated](#FlagGatewayCloseEventCodeAlreadyAuthenticated),
    [FlagGatewayCloseEventCodeInvalidSeq](#FlagGatewayCloseEventCodeInvalidSeq).Code:           &[FlagGatewayCloseEventCodeInvalidSeq](#FlagGatewayCloseEventCodeInvalidSeq),
    [FlagGatewayCloseEventCodeRateLimited](#FlagGatewayCloseEventCodeRateLimited).Code:          &[FlagGatewayCloseEventCodeRateLimited](#FlagGatewayCloseEventCodeRateLimited),
    [FlagGatewayCloseEventCodeSessionTimed](#FlagGatewayCloseEventCodeSessionTimed).Code:         &[FlagGatewayCloseEventCodeSessionTimed](#FlagGatewayCloseEventCodeSessionTimed),
    [FlagGatewayCloseEventCodeInvalidShard](#FlagGatewayCloseEventCodeInvalidShard).Code:         &[FlagGatewayCloseEventCodeInvalidShard](#FlagGatewayCloseEventCodeInvalidShard),
    [FlagGatewayCloseEventCodeInvalidAPIVersion](#FlagGatewayCloseEventCodeInvalidAPIVersion).Code:    &[FlagGatewayCloseEventCodeInvalidAPIVersion](#FlagGatewayCloseEventCodeInvalidAPIVersion),
    [FlagGatewayCloseEventCodeInvalidIntent](#FlagGatewayCloseEventCodeInvalidIntent).Code:        &[FlagGatewayCloseEventCodeInvalidIntent](#FlagGatewayCloseEventCodeInvalidIntent),
    [FlagGatewayCloseEventCodeDisallowedIntent](#FlagGatewayCloseEventCodeDisallowedIntent).Code:     &[FlagGatewayCloseEventCodeDisallowedIntent](#FlagGatewayCloseEventCodeDisallowedIntent),
}

)

View Source

var ( FlagClientCloseEventCodeNormal = 1000 FlagClientCloseEventCodeAway = 1001

FlagClientCloseEventCodeReconnect = 3000

)

Client Close Event Codeshttps://discord.com/developers/docs/topics/gateway#disconnections

View Source

var ( FlagVoiceCloseEventCodeUnknownOpcode = VoiceCloseEventCode{ Code: 4001, Description: "Unknown opcode", Explanation: "You sent an invalid opcode.", }

FlagVoiceCloseEventCodeFailedDecode = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4002,
    Description: "Failed to decode payload",
    Explanation: "You sent a invalid payload in your identifying to the Gateway.",
}

FlagVoiceCloseEventCodeNotAuthenticated = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4003,
    Description: "Not authenticated",
    Explanation: "You sent a payload before identifying with the Gateway or this session has been invalidated.",
}

FlagVoiceCloseEventCodeAuthenticationFailed = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4004,
    Description: "Authentication failed",
    Explanation: "The token you sent in your identify payload is incorrect.",
}

FlagVoiceCloseEventCodeAlreadyAuthenticated = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4005,
    Description: "Already authenticated",
    Explanation: "You sent more than one identify payload. Stahp.",
}

FlagVoiceCloseEventCodeInvalidSession = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4006,
    Description: "Session no longer valid",
    Explanation: "Your session is no longer valid.",
}

FlagVoiceCloseEventCodeSessionTimeout = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4009,
    Description: "Session timeout",
    Explanation: "Your session has timed out.",
}

FlagVoiceCloseEventCodeServerNotFound = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4011,
    Description: "Server not found",
    Explanation: "We can't find the server you're trying to connect to.",
}

FlagVoiceCloseEventCodeUnknownProtocol = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4012,
    Description: "Unknown protocol",
    Explanation: "We didn't recognize the protocol you sent.",
}

FlagVoiceCloseEventCodeDisconnectedChannel = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4014,
    Description: "Disconnected",
    Explanation: "Channel was deleted, you were kicked, voice server changed, or the main gateway session was dropped. Don't reconnect.",
}

FlagVoiceCloseEventCodeVoiceServerCrash = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4015,
    Description: "Voice server crashed",
    Explanation: "The server crashed. Our bad! Try resuming.",
}

FlagVoiceCloseEventCodeUnknownEncryptionMode = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4016,
    Description: "Unknown encryption mode",
    Explanation: "We didn't recognize your encryption.",
}

FlagVoiceCloseEventCodeBadRequest = [VoiceCloseEventCode](#VoiceCloseEventCode){
    Code:        4020,
    Description: "Bad request",
    Explanation: "You sent a malformed request.",
}

VoiceCloseEventCodes = map[[int](/builtin#int)]*[VoiceCloseEventCode](#VoiceCloseEventCode){
    [FlagVoiceCloseEventCodeUnknownOpcode](#FlagVoiceCloseEventCodeUnknownOpcode).Code:         &[FlagVoiceCloseEventCodeUnknownOpcode](#FlagVoiceCloseEventCodeUnknownOpcode),
    [FlagVoiceCloseEventCodeFailedDecode](#FlagVoiceCloseEventCodeFailedDecode).Code:          &[FlagVoiceCloseEventCodeFailedDecode](#FlagVoiceCloseEventCodeFailedDecode),
    [FlagVoiceCloseEventCodeNotAuthenticated](#FlagVoiceCloseEventCodeNotAuthenticated).Code:      &[FlagVoiceCloseEventCodeNotAuthenticated](#FlagVoiceCloseEventCodeNotAuthenticated),
    [FlagVoiceCloseEventCodeAuthenticationFailed](#FlagVoiceCloseEventCodeAuthenticationFailed).Code:  &[FlagVoiceCloseEventCodeAuthenticationFailed](#FlagVoiceCloseEventCodeAuthenticationFailed),
    [FlagVoiceCloseEventCodeAlreadyAuthenticated](#FlagVoiceCloseEventCodeAlreadyAuthenticated).Code:  &[FlagVoiceCloseEventCodeAlreadyAuthenticated](#FlagVoiceCloseEventCodeAlreadyAuthenticated),
    [FlagVoiceCloseEventCodeInvalidSession](#FlagVoiceCloseEventCodeInvalidSession).Code:        &[FlagVoiceCloseEventCodeInvalidSession](#FlagVoiceCloseEventCodeInvalidSession),
    [FlagVoiceCloseEventCodeSessionTimeout](#FlagVoiceCloseEventCodeSessionTimeout).Code:        &[FlagVoiceCloseEventCodeSessionTimeout](#FlagVoiceCloseEventCodeSessionTimeout),
    [FlagVoiceCloseEventCodeServerNotFound](#FlagVoiceCloseEventCodeServerNotFound).Code:        &[FlagVoiceCloseEventCodeServerNotFound](#FlagVoiceCloseEventCodeServerNotFound),
    [FlagVoiceCloseEventCodeUnknownProtocol](#FlagVoiceCloseEventCodeUnknownProtocol).Code:       &[FlagVoiceCloseEventCodeUnknownProtocol](#FlagVoiceCloseEventCodeUnknownProtocol),
    [FlagVoiceCloseEventCodeDisconnectedChannel](#FlagVoiceCloseEventCodeDisconnectedChannel).Code:   &[FlagVoiceCloseEventCodeDisconnectedChannel](#FlagVoiceCloseEventCodeDisconnectedChannel),
    [FlagVoiceCloseEventCodeVoiceServerCrash](#FlagVoiceCloseEventCodeVoiceServerCrash).Code:      &[FlagVoiceCloseEventCodeVoiceServerCrash](#FlagVoiceCloseEventCodeVoiceServerCrash),
    [FlagVoiceCloseEventCodeUnknownEncryptionMode](#FlagVoiceCloseEventCodeUnknownEncryptionMode).Code: &[FlagVoiceCloseEventCodeUnknownEncryptionMode](#FlagVoiceCloseEventCodeUnknownEncryptionMode),
    [FlagVoiceCloseEventCodeBadRequest](#FlagVoiceCloseEventCodeBadRequest).Code:            &[FlagVoiceCloseEventCodeBadRequest](#FlagVoiceCloseEventCodeBadRequest),
}

)

View Source

var ( EndpointModifyChannelGroupDM = EndpointModifyChannel EndpointModifyChannelGuild = EndpointModifyChannel EndpointModifyChannelThread = EndpointModifyChannel )

View Source

var (

ContentTypeURLQueryString = [][byte](/builtin#byte)("application/x-www-form-urlencoded")


ContentTypeJSON = [][byte](/builtin#byte)("application/json")


ContentTypeMultipartForm = [][byte](/builtin#byte)("multipart/form-data")


ContentTypeJPEG = [][byte](/builtin#byte)("image/jpeg")


ContentTypePNG = [][byte](/builtin#byte)("image/png")


ContentTypeWebP = [][byte](/builtin#byte)("image/webp")


ContentTypeGIF = [][byte](/builtin#byte)("image/gif")

)

Content Typeshttps://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type

View Source

var ( ActivityLocationKindEnum = map[string]string{ "gc": "Location is a Guild Channel", "pc": "Location is a Private Channel, such as a DM or GDM", } )

Activity Location Kind Enumhttps://discord.com/developers/docs/resources/application#get-application-activity-instance-activity-location-kind-enum

View Source

var ( HTTPResponseCodes = map[int]string{ FlagHTTPResponseCodeOK: "The request completed successfully.", FlagHTTPResponseCodeCREATED: "The entity was created successfully.", FlagHTTPResponseCodeNOCONTENT: "The request completed successfully but returned no content.", FlagHTTPResponseCodeNOTMODIFIED: "The entity was not modified (no action was taken).", FlagHTTPResponseCodeBADREQUEST: "The request was improperly formatted, or the server couldn't understand it.", FlagHTTPResponseCodeUNAUTHORIZED: "The Authorization header was missing or invalid.", FlagHTTPResponseCodeFORBIDDEN: "The Authorization token you passed did not have permission to the resource.", FlagHTTPResponseCodeNOTFOUND: "The resource at the location specified doesn't exist.", FlagHTTPResponseCodeMETHODNOTALLOWED: "The HTTP method used is not valid for the location specified.", FlagHTTPResponseCodeTOOMANYREQUESTS: "You are being rate limited, see Rate Limits.", FlagHTTPResponseCodeGATEWAYUNAVAILABLE: "There was not a gateway available to process your request. Wait a bit and retry.", FlagHTTPResponseCodeSERVERERROR: "The server had an error processing your request (these are rare).", } )

JSON Error Codeshttps://discord.com/developers/docs/topics/opcodes-and-status-codes#json-json-error-codes

Mutable Guild Featureshttps://discord.com/developers/docs/resources/guild#guild-object-mutable-guild-features

Privileged Intentshttps://discord.com/developers/docs/topics/gateway#privileged-intents

BotAuthorization performs a specialized OAuth2 flow for users to add bots to guilds.

Send the user a valid Bot Authorization URL, which can be generated using GenerateBotAuthorizationURL(disgo.BotAuthParams{...}).

When the user visits the Bot Authorization URL, they will be prompted for authorization. If the user accepts the prompt (with a guild), the bot will be added to the selected guild.

For more information read, https://discord.com/developers/docs/topics/oauth2#bot-authorization-flow

func CDNEndpointAchievementIcon(applicationid, achievementid, iconhash string) string

CDNEndpointAchievementIcon builds a query for an HTTP request.

func CDNEndpointApplicationAsset(applicationid, assetid string) string

CDNEndpointApplicationAsset builds a query for an HTTP request.

func CDNEndpointApplicationCover(applicationid, coverimage string) string

CDNEndpointApplicationCover builds a query for an HTTP request.

func CDNEndpointApplicationIcon(applicationid, icon string) string

CDNEndpointApplicationIcon builds a query for an HTTP request.

CDNEndpointCustomEmoji builds a query for an HTTP request.

CDNEndpointDefaultUserAvatar builds a query for an HTTP request.

func CDNEndpointGuildBanner(guildid, guildbanner string) string

CDNEndpointGuildBanner builds a query for an HTTP request.

func CDNEndpointGuildDiscoverySplash(guildid, guilddiscoverysplash string) string

CDNEndpointGuildDiscoverySplash builds a query for an HTTP request.

CDNEndpointGuildIcon builds a query for an HTTP request.

func CDNEndpointGuildMemberAvatar(guildid, userid, memberavatar string) string

CDNEndpointGuildMemberAvatar builds a query for an HTTP request.

func CDNEndpointGuildMemberBanner(guildid, userid, memberbanner string) string

CDNEndpointGuildMemberBanner builds a query for an HTTP request.

func CDNEndpointGuildScheduledEventCover(scheduledeventid, scheduledeventcoverimage string) string

CDNEndpointGuildScheduledEventCover builds a query for an HTTP request.

func CDNEndpointGuildSplash(guildid, guildsplash string) string

CDNEndpointGuildSplash builds a query for an HTTP request.

CDNEndpointRoleIcon builds a query for an HTTP request.

CDNEndpointSticker builds a query for an HTTP request.

func CDNEndpointStickerPackBanner(stickerpackbannerassetid string) string

CDNEndpointStickerPackBanner builds a query for an HTTP request.

func CDNEndpointStorePageAsset() string

CDNEndpointStorePageAsset builds a query for an HTTP request.

CDNEndpointTeamIcon builds a query for an HTTP request.

func CDNEndpointUserAvatar(userid, useravatar string) string

CDNEndpointUserAvatar builds a query for an HTTP request.

func CDNEndpointUserAvatarDecoration(userid, useravatardecoration string) string

CDNEndpointUserAvatarDecoration builds a query for an HTTP request.

func CDNEndpointUserBanner(userid, userbanner string) string

CDNEndpointUserBanner builds a query for an HTTP request.

func CDNURLParameterExpire() string

CDNURLParameterExpire builds a query for an HTTP request.

func CDNURLParameterIssued() string

CDNURLParameterIssued builds a query for an HTTP request.

func CDNURLParameterSignature() string

CDNURLParameterSignature builds a query for an HTTP request.

EndpointAddGuildMember builds a query for an HTTP request.

func EndpointAddGuildMemberRole(guildid, userid, roleid string) string

EndpointAddGuildMemberRole builds a query for an HTTP request.

func EndpointAddThreadMember(channelid, userid string) string

EndpointAddThreadMember builds a query for an HTTP request.

func EndpointAuthorizationURL() string

EndpointAuthorizationURL builds a query for an HTTP request.

EndpointBeginGuildPrune builds a query for an HTTP request.

EndpointBulkDeleteMessages builds a query for an HTTP request.

func EndpointConsumeEntitlement(applicationid, entitlementid string) string

EndpointConsumeEntitlement builds a query for an HTTP request.

func EndpointCreateApplicationEmoji(applicationid string) string

EndpointCreateApplicationEmoji builds a query for an HTTP request.

func EndpointCreateAutoModerationRule(guildid string) string

EndpointCreateAutoModerationRule builds a query for an HTTP request.

EndpointCreateChannelInvite builds a query for an HTTP request.

func EndpointCreateDM() string

EndpointCreateDM builds a query for an HTTP request.

func EndpointCreateFollowupMessage(applicationid, interactiontoken string) string

EndpointCreateFollowupMessage builds a query for an HTTP request.

func EndpointCreateGroupDM() string

EndpointCreateGroupDM builds a query for an HTTP request.

func EndpointCreateGuild() string

EndpointCreateGuild builds a query for an HTTP request.

EndpointCreateGuildBan builds a query for an HTTP request.

EndpointCreateGuildChannel builds a query for an HTTP request.

EndpointCreateGuildEmoji builds a query for an HTTP request.

EndpointCreateGuildRole builds a query for an HTTP request.

func EndpointCreateGuildScheduledEvent(guildid string) string

EndpointCreateGuildScheduledEvent builds a query for an HTTP request.

func EndpointCreateGuildSoundboardSound(guildid string) string

EndpointCreateGuildSoundboardSound builds a query for an HTTP request.

EndpointCreateGuildSticker builds a query for an HTTP request.

EndpointCreateGuildTemplate builds a query for an HTTP request.

func EndpointCreateGuildfromGuildTemplate(templatecode string) string

EndpointCreateGuildfromGuildTemplate builds a query for an HTTP request.

func EndpointCreateInteractionResponse(interactionid, interactiontoken string) string

EndpointCreateInteractionResponse builds a query for an HTTP request.

EndpointCreateMessage builds a query for an HTTP request.

func EndpointCreateReaction(channelid, messageid, emoji string) string

EndpointCreateReaction builds a query for an HTTP request.

func EndpointCreateStageInstance() string

EndpointCreateStageInstance builds a query for an HTTP request.

func EndpointCreateTestEntitlement(applicationid string) string

EndpointCreateTestEntitlement builds a query for an HTTP request.

EndpointCreateWebhook builds a query for an HTTP request.

func EndpointCrosspostMessage(channelid, messageid string) string

EndpointCrosspostMessage builds a query for an HTTP request.

func EndpointDeleteAllReactions(channelid, messageid string) string

EndpointDeleteAllReactions builds a query for an HTTP request.

func EndpointDeleteAllReactionsforEmoji(channelid, messageid, emoji string) string

EndpointDeleteAllReactionsforEmoji builds a query for an HTTP request.

func EndpointDeleteApplicationEmoji(applicationid, emojiid string) string

EndpointDeleteApplicationEmoji builds a query for an HTTP request.

func EndpointDeleteAutoModerationRule(guildid, automoderationruleid string) string

EndpointDeleteAutoModerationRule builds a query for an HTTP request.

func EndpointDeleteChannelPermission(channelid, overwriteid string) string

EndpointDeleteChannelPermission builds a query for an HTTP request.

EndpointDeleteCloseChannel builds a query for an HTTP request.

func EndpointDeleteFollowupMessage(applicationid, interactiontoken, messageid string) string

EndpointDeleteFollowupMessage builds a query for an HTTP request.

EndpointDeleteGuild builds a query for an HTTP request.

func EndpointDeleteGuildEmoji(guildid, emojiid string) string

EndpointDeleteGuildEmoji builds a query for an HTTP request.

func EndpointDeleteGuildIntegration(guildid, integrationid string) string

EndpointDeleteGuildIntegration builds a query for an HTTP request.

EndpointDeleteGuildRole builds a query for an HTTP request.

func EndpointDeleteGuildScheduledEvent(guildid, guildscheduledeventid string) string

EndpointDeleteGuildScheduledEvent builds a query for an HTTP request.

func EndpointDeleteGuildSoundboardSound(guildid, soundid string) string

EndpointDeleteGuildSoundboardSound builds a query for an HTTP request.

func EndpointDeleteGuildSticker(guildid, stickerid string) string

EndpointDeleteGuildSticker builds a query for an HTTP request.

func EndpointDeleteGuildTemplate(guildid, templatecode string) string

EndpointDeleteGuildTemplate builds a query for an HTTP request.

EndpointDeleteInvite builds a query for an HTTP request.

func EndpointDeleteMessage(channelid, messageid string) string

EndpointDeleteMessage builds a query for an HTTP request.

func EndpointDeleteOriginalInteractionResponse(applicationid, interactiontoken string) string

EndpointDeleteOriginalInteractionResponse builds a query for an HTTP request.

func EndpointDeleteOwnReaction(channelid, messageid, emoji string) string

EndpointDeleteOwnReaction builds a query for an HTTP request.

EndpointDeleteStageInstance builds a query for an HTTP request.

func EndpointDeleteTestEntitlement(applicationid, entitlementid string) string

EndpointDeleteTestEntitlement builds a query for an HTTP request.

func EndpointDeleteUserReaction(channelid, messageid, emoji, userid string) string

EndpointDeleteUserReaction builds a query for an HTTP request.

EndpointDeleteWebhook builds a query for an HTTP request.

func EndpointDeleteWebhookMessage(webhookid, webhooktoken, messageid string) string

EndpointDeleteWebhookMessage builds a query for an HTTP request.

func EndpointDeleteWebhookwithToken(webhookid, webhooktoken string) string

EndpointDeleteWebhookwithToken builds a query for an HTTP request.

func EndpointEditChannelPermissions(channelid, overwriteid string) string

EndpointEditChannelPermissions builds a query for an HTTP request.

func EndpointEditCurrentApplication() string

EndpointEditCurrentApplication builds a query for an HTTP request.

func EndpointEditFollowupMessage(applicationid, interactiontoken, messageid string) string

EndpointEditFollowupMessage builds a query for an HTTP request.

func EndpointEditMessage(channelid, messageid string) string

EndpointEditMessage builds a query for an HTTP request.

func EndpointEditOriginalInteractionResponse(applicationid, interactiontoken string) string

EndpointEditOriginalInteractionResponse builds a query for an HTTP request.

func EndpointEditWebhookMessage(webhookid, webhooktoken, messageid string) string

EndpointEditWebhookMessage builds a query for an HTTP request.

EndpointEndPoll builds a query for an HTTP request.

func EndpointExecuteGitHubCompatibleWebhook(webhookid, webhooktoken string) string

EndpointExecuteGitHubCompatibleWebhook builds a query for an HTTP request.

func EndpointExecuteSlackCompatibleWebhook(webhookid, webhooktoken string) string

EndpointExecuteSlackCompatibleWebhook builds a query for an HTTP request.

func EndpointExecuteWebhook(webhookid, webhooktoken string) string

EndpointExecuteWebhook builds a query for an HTTP request.

func EndpointFollowAnnouncementChannel(channelid string) string

EndpointFollowAnnouncementChannel builds a query for an HTTP request.

func EndpointGetAnswerVoters(channelid, messageid, answerid string) string

EndpointGetAnswerVoters builds a query for an HTTP request.

func EndpointGetApplicationActivityInstance(applicationid, instanceid string) string

EndpointGetApplicationActivityInstance builds a query for an HTTP request.

func EndpointGetApplicationEmoji(applicationid, emojiid string) string

EndpointGetApplicationEmoji builds a query for an HTTP request.

func EndpointGetApplicationRoleConnectionMetadataRecords(applicationid string) string

EndpointGetApplicationRoleConnectionMetadataRecords builds a query for an HTTP request.

func EndpointGetAutoModerationRule(guildid, automoderationruleid string) string

EndpointGetAutoModerationRule builds a query for an HTTP request.

EndpointGetChannel builds a query for an HTTP request.

EndpointGetChannelInvites builds a query for an HTTP request.

func EndpointGetChannelMessage(channelid, messageid string) string

EndpointGetChannelMessage builds a query for an HTTP request.

EndpointGetChannelMessages builds a query for an HTTP request.

EndpointGetChannelWebhooks builds a query for an HTTP request.

func EndpointGetCurrentApplication() string

EndpointGetCurrentApplication builds a query for an HTTP request.

func EndpointGetCurrentAuthorizationInformation() string

EndpointGetCurrentAuthorizationInformation builds a query for an HTTP request.

func EndpointGetCurrentBotApplicationInformation() string

EndpointGetCurrentBotApplicationInformation builds a query for an HTTP request.

func EndpointGetCurrentUser() string

EndpointGetCurrentUser builds a query for an HTTP request.

func EndpointGetCurrentUserApplicationRoleConnection(applicationid string) string

EndpointGetCurrentUserApplicationRoleConnection builds a query for an HTTP request.

func EndpointGetCurrentUserConnections() string

EndpointGetCurrentUserConnections builds a query for an HTTP request.

func EndpointGetCurrentUserGuildMember(guildid string) string

EndpointGetCurrentUserGuildMember builds a query for an HTTP request.

func EndpointGetCurrentUserGuilds() string

EndpointGetCurrentUserGuilds builds a query for an HTTP request.

func EndpointGetEntitlement(applicationid, entitlementid string) string

EndpointGetEntitlement builds a query for an HTTP request.

func EndpointGetFollowupMessage(applicationid, interactiontoken, messageid string) string

EndpointGetFollowupMessage builds a query for an HTTP request.

func EndpointGetGateway() string

EndpointGetGateway builds a query for an HTTP request.

func EndpointGetGatewayBot() string

EndpointGetGatewayBot builds a query for an HTTP request.

EndpointGetGuild builds a query for an HTTP request.

EndpointGetGuildAuditLog builds a query for an HTTP request.

EndpointGetGuildBan builds a query for an HTTP request.

EndpointGetGuildBans builds a query for an HTTP request.

EndpointGetGuildChannels builds a query for an HTTP request.

EndpointGetGuildEmoji builds a query for an HTTP request.

EndpointGetGuildIntegrations builds a query for an HTTP request.

EndpointGetGuildInvites builds a query for an HTTP request.

EndpointGetGuildMember builds a query for an HTTP request.

EndpointGetGuildOnboarding builds a query for an HTTP request.

EndpointGetGuildPreview builds a query for an HTTP request.

EndpointGetGuildPruneCount builds a query for an HTTP request.

EndpointGetGuildRole builds a query for an HTTP request.

EndpointGetGuildRoles builds a query for an HTTP request.

func EndpointGetGuildScheduledEvent(guildid, guildscheduledeventid string) string

EndpointGetGuildScheduledEvent builds a query for an HTTP request.

func EndpointGetGuildScheduledEventUsers(guildid, guildscheduledeventid string) string

EndpointGetGuildScheduledEventUsers builds a query for an HTTP request.

func EndpointGetGuildSoundboardSound(guildid, soundid string) string

EndpointGetGuildSoundboardSound builds a query for an HTTP request.

func EndpointGetGuildSticker(guildid, stickerid string) string

EndpointGetGuildSticker builds a query for an HTTP request.

EndpointGetGuildTemplate builds a query for an HTTP request.

EndpointGetGuildTemplates builds a query for an HTTP request.

EndpointGetGuildVanityURL builds a query for an HTTP request.

EndpointGetGuildVoiceRegions builds a query for an HTTP request.

EndpointGetGuildWebhooks builds a query for an HTTP request.

EndpointGetGuildWelcomeScreen builds a query for an HTTP request.

EndpointGetGuildWidget builds a query for an HTTP request.

EndpointGetGuildWidgetImage builds a query for an HTTP request.

EndpointGetGuildWidgetSettings builds a query for an HTTP request.

EndpointGetInvite builds a query for an HTTP request.

func EndpointGetOriginalInteractionResponse(applicationid, interactiontoken string) string

EndpointGetOriginalInteractionResponse builds a query for an HTTP request.

EndpointGetPinnedMessages builds a query for an HTTP request.

func EndpointGetReactions(channelid, messageid, emoji string) string

EndpointGetReactions builds a query for an HTTP request.

func EndpointGetSKUSubscription(skuid, subscriptionid string) string

EndpointGetSKUSubscription builds a query for an HTTP request.

EndpointGetStageInstance builds a query for an HTTP request.

EndpointGetSticker builds a query for an HTTP request.

EndpointGetStickerPack builds a query for an HTTP request.

func EndpointGetThreadMember(channelid, userid string) string

EndpointGetThreadMember builds a query for an HTTP request.

EndpointGetUser builds a query for an HTTP request.

EndpointGetWebhook builds a query for an HTTP request.

func EndpointGetWebhookMessage(webhookid, webhooktoken, messageid string) string

EndpointGetWebhookMessage builds a query for an HTTP request.

func EndpointGetWebhookwithToken(webhookid, webhooktoken string) string

EndpointGetWebhookwithToken builds a query for an HTTP request.

func EndpointGroupDMAddRecipient(channelid, userid string) string

EndpointGroupDMAddRecipient builds a query for an HTTP request.

func EndpointGroupDMRemoveRecipient(channelid, userid string) string

EndpointGroupDMRemoveRecipient builds a query for an HTTP request.

EndpointJoinThread builds a query for an HTTP request.

EndpointLeaveGuild builds a query for an HTTP request.

EndpointLeaveThread builds a query for an HTTP request.

EndpointListActiveGuildThreads builds a query for an HTTP request.

func EndpointListApplicationEmojis(applicationid string) string

EndpointListApplicationEmojis builds a query for an HTTP request.

func EndpointListAutoModerationRulesForGuild(guildid string) string

EndpointListAutoModerationRulesForGuild builds a query for an HTTP request.

func EndpointListDefaultSoundboardSounds() string

EndpointListDefaultSoundboardSounds builds a query for an HTTP request.

EndpointListEntitlements builds a query for an HTTP request.

EndpointListGuildEmojis builds a query for an HTTP request.

EndpointListGuildMembers builds a query for an HTTP request.

func EndpointListGuildSoundboardSounds(guildid string) string

EndpointListGuildSoundboardSounds builds a query for an HTTP request.

EndpointListGuildStickers builds a query for an HTTP request.

func EndpointListJoinedPrivateArchivedThreads(channelid string) string

EndpointListJoinedPrivateArchivedThreads builds a query for an HTTP request.

func EndpointListPrivateArchivedThreads(channelid string) string

EndpointListPrivateArchivedThreads builds a query for an HTTP request.

func EndpointListPublicArchivedThreads(channelid string) string

EndpointListPublicArchivedThreads builds a query for an HTTP request.

EndpointListSKUSubscriptions builds a query for an HTTP request.

EndpointListSKUs builds a query for an HTTP request.

func EndpointListScheduledEventsforGuild(guildid string) string

EndpointListScheduledEventsforGuild builds a query for an HTTP request.

func EndpointListStickerPacks() string

EndpointListStickerPacks builds a query for an HTTP request.

EndpointListThreadMembers builds a query for an HTTP request.

func EndpointListVoiceRegions() string

EndpointListVoiceRegions builds a query for an HTTP request.

func EndpointModifyApplicationEmoji(applicationid, emojiid string) string

EndpointModifyApplicationEmoji builds a query for an HTTP request.

func EndpointModifyAutoModerationRule(guildid, automoderationruleid string) string

EndpointModifyAutoModerationRule builds a query for an HTTP request.

EndpointModifyChannel builds a query for an HTTP request.

EndpointModifyCurrentMember builds a query for an HTTP request.

func EndpointModifyCurrentUser() string

EndpointModifyCurrentUser builds a query for an HTTP request.

EndpointModifyCurrentUserNick builds a query for an HTTP request.

func EndpointModifyCurrentUserVoiceState(guildid string) string

EndpointModifyCurrentUserVoiceState builds a query for an HTTP request.

EndpointModifyGuild builds a query for an HTTP request.

func EndpointModifyGuildChannelPositions(guildid string) string

EndpointModifyGuildChannelPositions builds a query for an HTTP request.

func EndpointModifyGuildEmoji(guildid, emojiid string) string

EndpointModifyGuildEmoji builds a query for an HTTP request.

EndpointModifyGuildMFALevel builds a query for an HTTP request.

func EndpointModifyGuildMember(guildid, userid string) string

EndpointModifyGuildMember builds a query for an HTTP request.

EndpointModifyGuildOnboarding builds a query for an HTTP request.

EndpointModifyGuildRole builds a query for an HTTP request.

func EndpointModifyGuildRolePositions(guildid string) string

EndpointModifyGuildRolePositions builds a query for an HTTP request.

func EndpointModifyGuildScheduledEvent(guildid, guildscheduledeventid string) string

EndpointModifyGuildScheduledEvent builds a query for an HTTP request.

func EndpointModifyGuildSoundboardSound(guildid, soundid string) string

EndpointModifyGuildSoundboardSound builds a query for an HTTP request.

func EndpointModifyGuildSticker(guildid, stickerid string) string

EndpointModifyGuildSticker builds a query for an HTTP request.

func EndpointModifyGuildTemplate(guildid, templatecode string) string

EndpointModifyGuildTemplate builds a query for an HTTP request.

func EndpointModifyGuildWelcomeScreen(guildid string) string

EndpointModifyGuildWelcomeScreen builds a query for an HTTP request.

EndpointModifyGuildWidget builds a query for an HTTP request.

EndpointModifyStageInstance builds a query for an HTTP request.

func EndpointModifyUserVoiceState(guildid, userid string) string

EndpointModifyUserVoiceState builds a query for an HTTP request.

EndpointModifyWebhook builds a query for an HTTP request.

func EndpointModifyWebhookwithToken(webhookid, webhooktoken string) string

EndpointModifyWebhookwithToken builds a query for an HTTP request.

EndpointPinMessage builds a query for an HTTP request.

EndpointQueryString returns a URL Query String from a given object.

EndpointRemoveGuildBan builds a query for an HTTP request.

func EndpointRemoveGuildMember(guildid, userid string) string

EndpointRemoveGuildMember builds a query for an HTTP request.

func EndpointRemoveGuildMemberRole(guildid, userid, roleid string) string

EndpointRemoveGuildMemberRole builds a query for an HTTP request.

func EndpointRemoveThreadMember(channelid, userid string) string

EndpointRemoveThreadMember builds a query for an HTTP request.

EndpointSearchGuildMembers builds a query for an HTTP request.

EndpointSendSoundboardSound builds a query for an HTTP request.

func EndpointStartThreadfromMessage(channelid, messageid string) string

EndpointStartThreadfromMessage builds a query for an HTTP request.

func EndpointStartThreadinForumChannel(channelid string) string

EndpointStartThreadinForumChannel builds a query for an HTTP request.

func EndpointStartThreadwithoutMessage(channelid string) string

EndpointStartThreadwithoutMessage builds a query for an HTTP request.

func EndpointSyncGuildTemplate(guildid, templatecode string) string

EndpointSyncGuildTemplate builds a query for an HTTP request.

func EndpointTokenRevocationURL() string

EndpointTokenRevocationURL builds a query for an HTTP request.

func EndpointTokenURL() string

EndpointTokenURL builds a query for an HTTP request.

func EndpointTriggerTypingIndicator(channelid string) string

EndpointTriggerTypingIndicator builds a query for an HTTP request.

func EndpointUnpinMessage(channelid, messageid string) string

EndpointUnpinMessage builds a query for an HTTP request.

func EndpointUpdateApplicationRoleConnectionMetadataRecords(applicationid string) string

EndpointUpdateApplicationRoleConnectionMetadataRecords builds a query for an HTTP request.

func EndpointUpdateCurrentUserApplicationRoleConnection(applicationid string) string

EndpointUpdateCurrentUserApplicationRoleConnection builds a query for an HTTP request.

GenerateAuthorizationURL generates an authorization URL from a given client and response type.

func GenerateBotAuthorizationURL(p BotAuthParams) string

GenerateBotAuthorizationURL generates a bot authorization URL using the given BotAuthParams.

Bot.Scopes must include "bot" to enable the OAuth2 Bot Flow.

Hash returns a hashing function which hashes a request using its routeID.

n represents the degree of resources used to hash the request.

Per-Route: n = 0
Per-Resource: n = 1

...

IsValue returns whether the given pointer contains a value.

IsValue2 returns whether the given double pointer contains a pointer.

JSONCodeError handles a Discord API JSON Error Code and returns the relevant error message.

func LogCommand

LogCommand logs a Gateway Command (typically using a LogSession).

func LogCommandVoice added in v1.10.2

LogCommandVoice logs a Voice Command.

LogPayload logs a Discord Gateway Payload (typically using LogSession).

LogRequest logs a request.

LogResponse logs a response (typically using LogRequest).

LogSession logs a session.

func Pointer[T any](v T) *T

Pointer returns a pointer to the given value.

func Pointer2[T any](v T, null ...bool) **T

Pointer2 returns a double pointer to the given value.

set `null` to true in order to point the double pointer to a `nil` pointer.

func SendRequest(bot *Client, xid, routeid, resourceid, method, uri string, content, body []byte, dst any) error

SendRequest sends a fasthttp.Request using the given route ID, HTTP method, URI, content type and body, then parses the response into dst.

StatusCodeError returns the relevant message for a Discord API HTTP Status Code.

func WebhookAuthorization(bot *Client, ru RedirectURL) (AccessTokenResponse, *Webhook, error)

WebhookAuthorization performs a specialized OAuth2 authorization code grant.

Send the user a valid Authorization URL, which can be generated using GenerateAuthorizationURL(bot, "code") when bot.Scopes is set to `webhook.incoming`.

When the user visits the Authorization URL, they will be prompted for authorization. If the user accepts the prompt (with a channel), they will be redirected to the `redirect_uri`. This issues a GET request to the `redirect_uri` web server which YOU MUST HANDLE by parsing the request's URL Query String into a disgo.RedirectURL object.

Retrieve the user's access token by calling THIS FUNCTION (with the disgo.RedirectURL parameter), which performs an Access Token Exchange.

Refresh the token by using RefreshAuthorizationCodeGrant(bot, token).

For more information read, https://discord.com/developers/docs/topics/oauth2#webhooks

type AccessTokenResponse struct { AccessToken string json:"access_token,omitempty" TokenType string json:"token_type,omitempty" RefreshToken string json:"refresh_token,omitempty" Scope string json:"scope,omitempty" ExpiresIn time.Duration json:"expires_in,omitempty" }

Access Token Responsehttps://discord.com/developers/docs/topics/oauth2#authorization-code-grant-access-token-response

func AdvancedBotAuthorization(bot *Client, ru RedirectURL) (AccessTokenResponse, error)

AdvancedBotAuthorization performs a specialized OAuth2 flow for users to add bots to guilds.

Send the user a valid Bot Authorization URL, which can be generated using GenerateBotAuthorizationURL(disgo.BotAuthParams{...}).

If the user accepts the prompt (with a guild), they will be redirected to the `redirect_uri`. This issues a GET request to the `redirect_uri` web server which YOU MUST HANDLE by parsing the request's URL Query String into a disgo.RedirectURL object.

Retrieve the user's access token by calling THIS FUNCTION (with the disgo.RedirectURL parameter), which performs an Access Token Exchange.

Refresh the token by using RefreshAuthorizationCodeGrant(bot, token).

For more information read, https://discord.com/developers/docs/topics/oauth2#advanced-bot-authorization

func AuthorizationCodeGrant(bot *Client, ru RedirectURL) (AccessTokenResponse, error)

AuthorizationCodeGrant performs an OAuth2 authorization code grant.

Send the user a valid Authorization URL, which can be generated using GenerateAuthorizationURL(bot, "code").

When the user visits the Authorization URL, they will be prompted for authorization. If the user accepts the prompt, they will be redirected to the `redirect_uri`. This issues a GET request to the `redirect_uri` web server which YOU MUST HANDLE by parsing the request's URL Query String into a disgo.RedirectURL object.

Retrieve the user's access token by calling THIS FUNCTION (with the disgo.RedirectURL parameter), which performs an Access Token Exchange.

Refresh the token by using RefreshAuthorizationCodeGrant(bot, token).

For more information, read https://discord.com/developers/docs/topics/oauth2#authorization-code-grant

func ClientCredentialsGrant(bot Client) (AccessTokenResponse, error)

ClientCredentialsGrant performs a client credential OAuth2 grant for TESTING PURPOSES.

The bot client's Authentication Header will be set to a Basic Authentication Header that uses the bot's ClientID as a username and ClientSecret as a password.

A request will be made for a Client Credential grant which returns a disgo.AccessTokenResponse that does NOT contain a refresh token.

For more information, read https://discord.com/developers/docs/topics/oauth2#client-credentials-grant

func ImplicitGrant(ru *RedirectURI) *AccessTokenResponse

ImplicitGrant converts a RedirectURI (from a simplified OAuth2 grant) to an AccessTokenResponse.

Send the user a valid Authorization URL, which can be generated using GenerateAuthorizationURL(bot, "token").

When the user visits the Authorization URL, they will be prompted for authorization. If the user accepts the prompt, they will be redirected to the `redirect_uri`. This issues a GET request to the `redirect_uri` web server which YOU MUST HANDLE by parsing the request's URI Fragments into a disgo.RedirectURI object.

A disgo.RedirectURI object is equivalent to a disgo.AccessTokenResponse, but it does NOT contain a refresh token.

For more information, read https://discord.com/developers/docs/topics/oauth2#implicit-grant

func RefreshAuthorizationCodeGrant(bot *Client, token AccessTokenResponse) (AccessTokenResponse, error)

RefreshAuthorizationCodeGrant refreshes an Access Token from an OAuth2 authorization code grant.

type Activity struct { Party *ActivityParty json:"party,omitempty" Emoji **Emoji json:"emoji,omitempty" URL **string json:"url,omitempty" Instance *bool json:"instance,omitempty" Timestamps *ActivityTimestamps json:"timestamps,omitempty" ApplicationID *string json:"application_id,omitempty" Secrets *ActivitySecrets json:"secrets,omitempty" State **string json:"state,omitempty" Details **string json:"details,omitempty" Assets ActivityAssets json:"assets,omitempty" Name string json:"name" Buttons []Button json:"buttons,omitempty" CreatedAt int json:"created_at" Flags BitFlag json:"flags,omitempty" Type Flag json:"type" }

Activity Objecthttps://discord.com/developers/docs/topics/gateway-events#activity-object

type Application struct { Guild *Guild json:"guild,omitempty" CustomInstallURL *string json:"custom_install_url,omitempty" PrimarySKUID string json:"primary_sku_id,omitempty" IntegrationTypesConfig map[Flag]ApplicationIntegrationTypeConfiguration json:"integration_types_config,omitempty" InstallParams *InstallParams json:"install_params,omitempty" EventWebhooksURL **string json:"event_webhooks_url,omitempty" RoleConnectionsVerificationURL **string json:"role_connections_verification_url,omitempty" Bot *User json:"bot,omitempty" TermsOfServiceURL *string json:"terms_of_service_url,omitempty" PrivacyProxyURL *string json:"privacy_policy_url,omitempty" Owner *User json:"owner,omitempty" InteractionsEndpointURL **string json:"interactions_endpoint_url,omitempty" Team *Team json:"team" GuildID *string json:"guild_id,omitempty" Icon *string json:"icon" Slug *string json:"slug,omitempty" ApproximateUserInstallCount *int json:"approximate_user_install_count,omitempty" CoverImage *string json:"cover_image,omitempty" Flags *BitFlag json:"flags,omitempty" ApproximateGuildCount *int json:"approximate_guild_count,omitempty" Name string json:"name" VerifyKey string json:"verify_key" Description string json:"description" ID string json:"id" RedirectURIs []string json:"redirect_uris,omitempty" EventWebhooksTypes []string json:"event_webhooks_types,omitempty" Tags []string json:"tags,omitempty" RPCOrigins []string json:"rpc_origins,omitempty" BotRequireCodeGrant bool json:"bot_require_code_grant" BotPublic bool json:"bot_public" EventWebhooksStatus Flag json:"event_webhooks_status" }

Application Objecthttps://discord.com/developers/docs/resources/application

type ApplicationCommand

type ApplicationCommand struct { DefaultMemberPermissions *string json:"default_member_permissions" NSFW *bool json:"nsfw,omitempty" Contexts *[]Flag json:"contexts,omitempty" GuildID *string json:"guild_id,omitempty" DescriptionLocalizations *map[string]string json:"description_localizations,omitempty" NameLocalizations *map[string]string json:"name_localizations,omitempty" Type Flag json:"type,omitempty" Name string json:"name" Description string json:"description" ID string json:"id" ApplicationID string json:"application_id" Version string json:"version,omitempty" Options []ApplicationCommandOption json:"options,omitempty" IntegrationTypes []Flag json:"integration_types,omitempty" Handler Flag json:"handler,omitempty" }

Application Command Structurehttps://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-structure

type ApplicationCommandOption

type ApplicationCommandOption struct { MinValue *float64 json:"min_value,omitempty" Autocomplete *bool json:"autocomplete,omitempty" NameLocalizations *map[string]string json:"name_localizations,omitempty" MaxLength *int json:"max_length,omitempty" DescriptionLocalizations *map[string]string json:"description_localizations,omitempty" Required *bool json:"required,omitempty" MinLength int json:"min_length,omitempty" MaxValue float64 json:"max_value,omitempty" Description string json:"description" Name string json:"name" ChannelTypes Flags json:"channel_types,omitempty" Options []ApplicationCommandOption json:"options,omitempty" Choices []ApplicationCommandOptionChoice json:"choices,omitempty" Type Flag json:"type" }

Application Command Option Structurehttps://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure

type AuditLog struct { ApplicationCommands []ApplicationCommand json:"application_commands" AuditLogEntries []AuditLogEntry json:"audit_log_entries" GuildScheduledEvents []GuildScheduledEvent json:"guild_scheduled_events" Integration []Integration json:"integrations" Threads []Channel json:"threads" Users []User json:"users" Webhooks []*Webhook json:"webhooks" }

Audit Log Objecthttps://discord.com/developers/docs/resources/audit-log

Authentication represents authentication parameters required to authenticate the bot.https://discord.com/developers/docs/reference#authentication

BearerToken uses a given token to return a valid Authentication Object for a bearer token type.

BotToken uses a given token to return a valid Authentication Object for a bot token type.

Authorization represents authorization parameters required to authorize a client's access to resources.

BitFlag represents an alias for a Discord API Bitwise Flag denoted by 1 << x.

const (

FlagIntentGUILDS [BitFlag](#BitFlag) = 1 << 0


FlagIntentGUILD_MEMBERS [BitFlag](#BitFlag) = 1 << 1


FlagIntentGUILD_MODERATION [BitFlag](#BitFlag) = 1 << 2


FlagIntentGUILD_EXPRESSIONS [BitFlag](#BitFlag) = 1 << 3


FlagIntentGUILD_INTEGRATIONS [BitFlag](#BitFlag) = 1 << 4


FlagIntentGUILD_WEBHOOKS [BitFlag](#BitFlag) = 1 << 5


FlagIntentGUILD_INVITES [BitFlag](#BitFlag) = 1 << 6


FlagIntentGUILD_VOICE_STATES [BitFlag](#BitFlag) = 1 << 7


FlagIntentGUILD_PRESENCES [BitFlag](#BitFlag) = 1 << 8


FlagIntentGUILD_MESSAGES [BitFlag](#BitFlag) = 1 << 9


FlagIntentGUILD_MESSAGE_REACTIONS [BitFlag](#BitFlag) = 1 << 10


FlagIntentGUILD_MESSAGE_TYPING  [BitFlag](#BitFlag) = 1 << 11
FlagIntentDIRECT_MESSAGE_TYPING [BitFlag](#BitFlag) = 1 << 14


FlagIntentDIRECT_MESSAGES [BitFlag](#BitFlag) = 1 << 12


FlagIntentDIRECT_MESSAGE_REACTIONS [BitFlag](#BitFlag) = 1 << 13

FlagIntentMESSAGE_CONTENT [BitFlag](#BitFlag) = 1 << 15


FlagIntentGUILD_SCHEDULED_EVENTS [BitFlag](#BitFlag) = 1 << 16


FlagIntentAUTO_MODERATION_CONFIGURATION [BitFlag](#BitFlag) = 1 << 20


FlagIntentAUTO_MODERATION_EXECUTION [BitFlag](#BitFlag) = 1 << 21


FlagIntentGUILD_MESSAGE_POLLS [BitFlag](#BitFlag) = 1 << 24


FlagIntentDIRECT_MESSAGE_POLLS [BitFlag](#BitFlag) = 1 << 25

)

List of Intentshttps://discord.com/developers/docs/topics/gateway#list-of-intents

const ( FlagApplicationAPPLICATION_AUTO_MODERATION_RULE_CREATE_BADGE BitFlag = 1 << 6 FlagApplicationGATEWAY_PRESENCE BitFlag = 1 << 12 FlagApplicationGATEWAY_PRESENCE_LIMITED BitFlag = 1 << 13 FlagApplicationGATEWAY_GUILD_MEMBERS BitFlag = 1 << 14 FlagApplicationGATEWAY_GUILD_MEMBERS_LIMITED BitFlag = 1 << 15 FlagApplicationVERIFICATION_PENDING_GUILD_LIMIT BitFlag = 1 << 16 FlagApplicationEMBEDDED BitFlag = 1 << 17 FlagApplicationGATEWAY_MESSAGE_CONTENT BitFlag = 1 << 18 FlagApplicationGATEWAY_MESSAGE_CONTENT_LIMITED BitFlag = 1 << 19 FlagApplicationAPPLICATION_COMMAND_BADGE BitFlag = 1 << 23 )

Application Flagshttps://discord.com/developers/docs/resources/application#application-object-application-flags

const ( FlagMessageCROSSPOSTED BitFlag = 1 << 0 FlagMessageIS_CROSSPOST BitFlag = 1 << 1 FlagMessageSUPPRESS_EMBEDS BitFlag = 1 << 2 FlagMessageSOURCE_MESSAGE_DELETED BitFlag = 1 << 3 FlagMessageURGENT BitFlag = 1 << 4 FlagMessageHAS_THREAD BitFlag = 1 << 5 FlagMessageEPHEMERAL BitFlag = 1 << 6 FlagMessageLOADING BitFlag = 1 << 7 FlagMessageFAILED_TO_MENTION_SOME_ROLES_IN_THREAD BitFlag = 1 << 8 FlagMessageSUPPRESS_NOTIFICATIONS BitFlag = 1 << 12 FlagMessageIS_VOICE_MESSAGE BitFlag = 1 << 13 FlagMessageHAS_SNAPSHOT BitFlag = 1 << 14 )

Message Flagshttps://discord.com/developers/docs/resources/channel#message-object-message-flags

const ( FlagGuildMemberDID_REJOIN BitFlag = 1 << 0 FlagGuildMemberCOMPLETED_ONBOARDING BitFlag = 1 << 1 FlagGuildMemberBYPASSES_VERIFICATION BitFlag = 1 << 2 FlagGuildMemberSTARTED_ONBOARDING BitFlag = 1 << 3 FlagGuildMemberIS_GUEST BitFlag = 1 << 4 FlagGuildMemberSTARTED_HOME_ACTIONS BitFlag = 1 << 5 FlagGuildMemberCOMPLETED_HOME_ACTIONS BitFlag = 1 << 6 FlagGuildMemberAUTOMOD_QUARANTINED_USERNAME BitFlag = 1 << 7 FlagGuildMemberDM_SETTINGS_UPSELL_ACKNOWLEDGED BitFlag = 1 << 9 )

Guild Member Flagshttps://discord.com/developers/docs/resources/guild#guild-member-object-guild-member-flags

const ( FlagUserNONE BitFlag = 0 FlagUserSTAFF BitFlag = 1 << 0 FlagUserPARTNER BitFlag = 1 << 1 FlagUserHYPESQUAD BitFlag = 1 << 2 FlagUserBUG_HUNTER_LEVEL_1 BitFlag = 1 << 3 FlagUserHYPESQUAD_ONLINE_HOUSE_ONE BitFlag = 1 << 6 FlagUserHYPESQUAD_ONLINE_HOUSE_TWO BitFlag = 1 << 7 FlagUserHYPESQUAD_ONLINE_HOUSE_THREE BitFlag = 1 << 8 FlagUserPREMIUM_EARLY_SUPPORTER BitFlag = 1 << 9 FlagUserTEAM_PSEUDO_USER BitFlag = 1 << 10 FlagUserBUG_HUNTER_LEVEL_2 BitFlag = 1 << 14 FlagUserVERIFIED_BOT BitFlag = 1 << 16 FlagUserVERIFIED_DEVELOPER BitFlag = 1 << 17 FlagUserCERTIFIED_MODERATOR BitFlag = 1 << 18 FlagUserBOT_HTTP_INTERACTIONS BitFlag = 1 << 19 FlagUserACTIVE_DEVELOPER BitFlag = 1 << 22 )

User Flagshttps://discord.com/developers/docs/resources/user#user-object-user-flags

const ( FlagBitwisePermissionCREATE_INSTANT_INVITE BitFlag = 1 << 0 FlagBitwisePermissionKICK_MEMBERS BitFlag = 1 << 1 FlagBitwisePermissionBAN_MEMBERS BitFlag = 1 << 2 FlagBitwisePermissionADMINISTRATOR BitFlag = 1 << 3 FlagBitwisePermissionMANAGE_CHANNELS BitFlag = 1 << 4 FlagBitwisePermissionMANAGE_GUILD BitFlag = 1 << 5 FlagBitwisePermissionADD_REACTIONS BitFlag = 1 << 6 FlagBitwisePermissionVIEW_AUDIT_LOG BitFlag = 1 << 7 FlagBitwisePermissionPRIORITY_SPEAKER BitFlag = 1 << 8 FlagBitwisePermissionSTREAM BitFlag = 1 << 9 FlagBitwisePermissionVIEW_CHANNEL BitFlag = 1 << 10 FlagBitwisePermissionSEND_MESSAGES BitFlag = 1 << 11 FlagBitwisePermissionSEND_TTS_MESSAGES BitFlag = 1 << 12 FlagBitwisePermissionMANAGE_MESSAGES BitFlag = 1 << 13 FlagBitwisePermissionEMBED_LINKS BitFlag = 1 << 14 FlagBitwisePermissionATTACH_FILES BitFlag = 1 << 15 FlagBitwisePermissionREAD_MESSAGE_HISTORY BitFlag = 1 << 16 FlagBitwisePermissionMENTION_EVERYONE BitFlag = 1 << 17 FlagBitwisePermissionUSE_EXTERNAL_EMOJIS BitFlag = 1 << 18 FlagBitwisePermissionVIEW_GUILD_INSIGHTS BitFlag = 1 << 19 FlagBitwisePermissionCONNECT BitFlag = 1 << 20 FlagBitwisePermissionSPEAK BitFlag = 1 << 21 FlagBitwisePermissionMUTE_MEMBERS BitFlag = 1 << 22 FlagBitwisePermissionDEAFEN_MEMBERS BitFlag = 1 << 23 FlagBitwisePermissionMOVE_MEMBERS BitFlag = 1 << 24 FlagBitwisePermissionUSE_VAD BitFlag = 1 << 25 FlagBitwisePermissionCHANGE_NICKNAME BitFlag = 1 << 26 FlagBitwisePermissionMANAGE_NICKNAMES BitFlag = 1 << 27 FlagBitwisePermissionMANAGE_ROLES BitFlag = 1 << 28 FlagBitwisePermissionMANAGE_WEBHOOKS BitFlag = 1 << 29 FlagBitwisePermissionMANAGE_GUILD_EXPRESSIONS BitFlag = 1 << 30 FlagBitwisePermissionUSE_APPLICATION_COMMANDS BitFlag = 1 << 31 FlagBitwisePermissionREQUEST_TO_SPEAK BitFlag = 1 << 32 FlagBitwisePermissionMANAGE_EVENTS BitFlag = 1 << 33 FlagBitwisePermissionMANAGE_THREADS BitFlag = 1 << 34 FlagBitwisePermissionCREATE_PUBLIC_THREADS BitFlag = 1 << 35 FlagBitwisePermissionCREATE_PRIVATE_THREADS BitFlag = 1 << 36 FlagBitwisePermissionUSE_EXTERNAL_STICKERS BitFlag = 1 << 37 FlagBitwisePermissionSEND_MESSAGES_IN_THREADS BitFlag = 1 << 38 FlagBitwisePermissionUSE_EMBEDDED_ACTIVITIES BitFlag = 1 << 39 FlagBitwisePermissionMODERATE_MEMBERS BitFlag = 1 << 40 FlagBitwisePermissionVIEW_CREATOR_MONETIZATION_ANALYTICS BitFlag = 1 << 41 FlagBitwisePermissionUSE_SOUNDBOARD BitFlag = 1 << 42 FlagBitwisePermissionCREATE_GUILD_EXPRESSIONS BitFlag = 1 << 43 FlagBitwisePermissionCREATE_EVENTS BitFlag = 1 << 44 FlagBitwisePermissionUSE_EXTERNAL_SOUNDS BitFlag = 1 << 45 FlagBitwisePermissionSEND_VOICE_MESSAGES BitFlag = 1 << 46 FlagBitwisePermissionSEND_POLLS BitFlag = 1 << 49 FlagBitwisePermissionUSE_EXTERNAL_APPS BitFlag = 1 << 50 )

Bitwise Permission Flagshttps://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags

type BotAuthParams struct {

Bot *[Client](#Client)


GuildID [string](/builtin#string)


ResponseType [string](/builtin#string)


Permissions [BitFlag](#BitFlag)


DisableGuildSelect [bool](/builtin#bool)

}

BotAuthParams represents parameters used to generate a bot authorization URL.

Bucket represents a Discord API Rate Limit Bucket.

ConfirmDate confirms the usage of a given amount of tokens for a Discord API Rate Limit Bucket, using the bucket's current expiry and given (Discord Header) Date time.

Used for the Global Rate Limit Bucket.

func (b *Bucket) ConfirmHeader(amount int16, header RateLimitHeader)

ConfirmHeader confirms the usage of a given amount of tokens for a Discord API Rate Limit Bucket, using a given Route ID and respective Discord Rate Limit Header.

Used for Route Rate Limits.

Reset resets a Discord API Rate Limit Bucket and sets its expiry.

func (b *Bucket) Use(amount int16)

Use uses the given amount of tokens for a Discord API Rate Limit Bucket.

type Channel struct { Managed *bool json:"managed,omitempty" Position *int json:"position,omitempty" GuildID *string json:"guild_id,omitempty" ParentID **string json:"parent_id,omitempty" DefaultForumLayout *Flag json:"default_forum_layout,omitempty" LastPinTimestamp **time.Time json:"last_pin_timestamp,omitempty" Topic **string json:"topic,omitempty" NSFW *bool json:"nsfw,omitempty" LastMessageID **string json:"last_message_id,omitempty" Bitrate *int json:"bitrate,omitempty" UserLimit *int json:"user_limit,omitempty" RateLimitPerUser *int json:"rate_limit_per_user,omitempty" DefaultThreadRateLimitPerUser *int json:"default_thread_rate_limit_per_user,omitempty" Icon **string json:"icon,omitempty" OwnerID *string json:"owner_id,omitempty" ApplicationID *string json:"application_id,omitempty" DefaultSortOrder **Flag json:"default_sort_order,omitempty" Type *Flag json:"type" Name **string json:"name,omitempty" RTCRegion **string json:"rtc_region,omitempty" VideoQualityMode *Flag json:"video_quality_mode,omitempty" MessageCount *int json:"message_count,omitempty" MemberCount *int json:"member_count,omitempty" ThreadMetadata *ThreadMetadata json:"thread_metadata,omitempty" Member *ThreadMember json:"member,omitempty" DefaultAutoArchiveDuration *int json:"default_auto_archive_duration,omitempty" Permissions *string json:"permissions,omitempty" Flags BitFlag json:"flags,omitempty" TotalMessageSent int json:"total_message_sent,omitempty" DefaultReactionEmoji DefaultReaction json:"default_reaction_emoji" ID string json:"id" AppliedTags []string json:"applied_tags,omitempty" AvailableTags []ForumTag json:"available_tags,omitempty" Recipients []User json:"recipients,omitempty" PermissionOverwrites []PermissionOverwrite json:"permission_overwrites,omitempty" }

Channel Objecthttps://discord.com/developers/docs/resources/channel

type Client struct {

Authentication *[Authentication](#Authentication)


Authorization *[Authorization](#Authorization)


Config *[Config](#Config)


Handlers *[Handlers](#Handlers)


VoiceHandlers *[VoiceHandlers](#VoiceHandlers)


Sessions *[SessionManager](#SessionManager)

ApplicationID [string](/builtin#string)

}

Client represents a Discord Application.

func (*Client) Handle

func (bot *Client) Handle(eventname string, function interface{}) error

Handle adds an event handler for the given event to the bot.

func (*Client) HandleVoice added in v1.10.2

func (bot *Client) HandleVoice(eventname string, function interface{}) error

Handle adds an event handler for the given event to the Voice Connection.

Remove removes the event handler at the given index from the bot. This function does NOT remove intents automatically.

Remove removes the event handler at the given index from the Voice Connection.

type ClientDisconnect struct{}

Client Disconnect Structure

type Config struct {

Gateway [Gateway](#Gateway)


Request [Request](#Request)

}

Config represents parameters used to perform various actions by the client.

func DefaultConfig() *Config

DefaultConfig returns a default client configuration.

type CreateAutoModerationRule struct { TriggerMetadata *TriggerMetadata json:"trigger_metadata,omitempty" Enabled bool json:"enabled,omitempty" GuildID string json:"-" Name string json:"name" Actions []AutoModerationAction json:"actions" ExemptRoles []string json:"exempt_roles,omitempty" ExemptChannels []string json:"exempt_channels,omitempty" EventType Flag json:"event_type" TriggerType Flag json:"trigger_type" }

Create Auto Moderation Rule POST /guilds/{guild.id}/auto-moderation/ruleshttps://discord.com/developers/docs/resources/auto-moderation#create-auto-moderation-rule

Send sends a CreateAutoModerationRule request to Discord and returns a AutoModerationRule.

type CreateFollowupMessage struct { TTS *bool json:"tts,omitempty" url:"-" AllowedMentions *AllowedMentions json:"allowed_mentions,omitempty" url:"-" ThreadID *string json:"-" url:"thread_id,omitempty" Content *string json:"content,omitempty" url:"-" Username *string json:"username,omitempty" url:"-" AvatarURL string json:"avatar_url,omitempty" url:"-" ThreadName string json:"thread_name,omitempty" url:"-" Flags BitFlag json:"flags,omitempty" url:"-" ApplicationID string json:"-" url:"-" InteractionToken string json:"-" url:"-" Files []File json:"-" url:"-" dasgo:"files" Components []Component json:"components,omitempty" url:"-" Embeds []Embed json:"embeds,omitempty" url:"-" Attachments []Attachment json:"attachments,omitempty" url:"-" }

Create Followup Message POST /webhooks/{application.id}/{interaction.token}https://discord.com/developers/docs/interactions/receiving-and-responding#create-followup-message

Send sends a CreateFollowupMessage request to Discord and returns a Message.

type CreateGuild struct { Region **string json:"region,omitempty" Icon *string json:"icon,omitempty" VerificationLevel *Flag json:"verification_level,omitempty" DefaultMessageNotifications *Flag json:"default_message_notifications,omitempty" ExplicitContentFilter *Flag json:"explicit_content_filter,omitempty" AfkChannelID *string json:"afk_channel_id,omitempty" AfkTimeout *int json:"afk_timeout,omitempty" SystemChannelID string json:"system_channel_id,omitempty" SystemChannelFlags BitFlag json:"system_channel_flags,omitempty" Name string json:"name" Roles []Role json:"roles,omitempty" Channels []Channel json:"channels,omitempty" }

Create Guild POST /guildshttps://discord.com/developers/docs/resources/guild#create-guild

Send sends a CreateGuild request to Discord and returns a Guild.

type CreateGuildChannel struct { PermissionOverwrites []PermissionOverwrite json:"permission_overwrites,omitempty" Type **Flag json:"type,omitempty" ParentID **string json:"parent_id,omitempty" NSFW **bool json:"nsfw,omitempty" Bitrate **int json:"bitrate,omitempty" UserLimit **int json:"user_limit,omitempty" RateLimitPerUser **int json:"rate_limit_per_user,omitempty" Position **int json:"position,omitempty" DefaultForumLayout **Flag json:"default_forum_layout,omitempty" DefaultSortOrder **Flag json:"default_sort_order,omitempty" Topic **string json:"topic,omitempty" RTCRegion **string json:"rtc_region,omitempty" VideoQualityMode **Flag json:"video_quality_mode,omitempty" DefaultAutoArchiveDuration **int json:"default_auto_archive_duration,omitempty" DefaultReactionEmoji **DefaultReaction json:"default_reaction_emoji,omitempty" AvailableTags []ForumTag json:"available_tags,omitempty" Name string json:"name" GuildID string json:"-" }

Create Guild Channel POST /guilds/{guild.id}/channelshttps://discord.com/developers/docs/resources/guild#create-guild-channel

Send sends a CreateGuildChannel request to Discord and returns a Channel.

type CreateGuildScheduledEvent struct { ScheduledStartTime time.Time json:"scheduled_start_time" ChannelID *string json:"channel_id,omitempty" EntityMetadata *GuildScheduledEventEntityMetadata json:"entity_metadata,omitempty" ScheduledEndTime *time.Time json:"scheduled_end_time,omitempty" Description *string json:"description,omitempty" EntityType *Flag json:"entity_type,omitempty" Image *string json:"image,omitempty" GuildID string json:"-" Name string json:"name" PrivacyLevel Flag json:"privacy_level" }

Create Guild Scheduled Event POST /guilds/{guild.id}/scheduled-eventshttps://discord.com/developers/docs/resources/guild-scheduled-event#create-guild-scheduled-event

Send sends a CreateGuildScheduledEvent request to Discord and returns a GuildScheduledEvent.

type CreateMessage struct { MessageReference *MessageReference json:"message_reference,omitempty" Content *string json:"content,omitempty" Nonce *Nonce json:"nonce,omitempty" TTS *bool json:"tts,omitempty" AllowedMentions AllowedMentions json:"allowed_mentions,omitempty" Flags BitFlag json:"flags,omitempty" EnforceNonce bool json:"enforce_nonce,omitempty" ChannelID string json:"-" Embeds []Embed json:"embeds,omitempty" Components []Component json:"components,omitempty" StickerIDS []string json:"sticker_ids,omitempty" Files []File json:"-" dasgo:"files,omitempty" Attachments []Attachment json:"attachments,omitempty" }

Create Message POST /channels/{channel.id}/messageshttps://discord.com/developers/docs/resources/channel#create-message

Send sends a CreateMessage request to Discord and returns a Message.

type EditCurrentApplication struct { Icon *string json:"icon" InstallParams *InstallParams json:"install_params" IntegrationTypesConfig map[string]Flag json:"integration_types_config" CoverImage *string json:"cover_image" Description string json:"string" RoleConnectionsVerificationURL string json:"role_connections_verification_url" CustomInstallURL string json:"custom_install_url" InteractionsEndpointURL string json:"interactions_endpoint_url" EventWebhooksURL string json:"event_webhooks_url" Tags []string json:"tags" EventWebhooksTypes []string json:"event_webhooks_types" Flags BitFlag json:"flags" EventWebhooksStatus Flag json:"event_webhooks_status" }

Edit Current Application PATCH /applications/@mehttps://discord.com/developers/docs/resources/application#edit-current-application

Send sends a EditCurrentApplication request to Discord and returns a Application.

type EditFollowupMessage struct { ThreadID *string json:"-" url:"thread_id,omitempty" Content **string json:"content,omitempty" url:"-" Embeds []Embed json:"embeds,omitempty" url:"-" Components *[]Component json:"components,omitempty" url:"-" AllowedMentions **AllowedMentions json:"allowed_mentions,omitempty" url:"-" Attachments []Attachment json:"attachments,omitempty" url:"-" ApplicationID string json:"-" url:"-" InteractionToken string json:"-" url:"-" MessageID string json:"-" url:"-" Files []*File json:"-" url:"-" dasgo:"files" }

Edit Followup Message PATCH /webhooks/{application.id}/{interaction.token}/messages/{message.id}https://discord.com/developers/docs/interactions/receiving-and-responding#edit-followup-message

Send sends a EditFollowupMessage request to Discord and returns a Message.

type EditMessage struct { Content **string json:"content,omitempty" Embeds []Embed json:"embeds,omitempty" Flags **BitFlag json:"flags,omitempty" AllowedMentions **AllowedMentions json:"allowed_mentions,omitempty" Components []Component json:"components,omitempty" Attachments []Attachment json:"attachments,omitempty" ChannelID string json:"-" MessageID string json:"-" Files []File json:"-" dasgo:"files" }

Edit Message PATCH /channels/{channel.id}/messages/{message.id}https://discord.com/developers/docs/resources/channel#edit-message

Send sends a EditMessage request to Discord and returns a Message.

type EditOriginalInteractionResponse struct { ThreadID *string json:"-" url:"thread_id,omitempty" Content **string json:"content,omitempty" url:"-" Embeds []Embed json:"embeds,omitempty" url:"-" Components *[]Component json:"components,omitempty" url:"-" AllowedMentions **AllowedMentions json:"allowed_mentions,omitempty" url:"-" Attachments []Attachment json:"attachments,omitempty" url:"-" ApplicationID string json:"-" url:"-" InteractionToken string json:"-" url:"-" Files []*File json:"-" url:"-" dasgo:"files" }

Edit Original Interaction Response PATCH /webhooks/{application.id}/{interaction.token}/messages/@originalhttps://discord.com/developers/docs/interactions/receiving-and-responding#edit-original-interaction-response

Send sends a EditOriginalInteractionResponse request to Discord and returns a Message.

type EditWebhookMessage struct { ThreadID *string url:"thread_id,omitempty" Content **string json:"content,omitempty" url:"-" Embeds []Embed json:"embeds,omitempty" url:"-" Components *[]Component json:"components,omitempty" url:"-" AllowedMentions **AllowedMentions json:"allowed_mentions,omitempty" url:"-" Attachments []Attachment json:"attachments,omitempty" url:"-" Poll Poll json:"poll,omitempty" url:"-" WebhookID string json:"-" url:"-" WebhookToken string json:"-" url:"-" MessageID string json:"-" url:"-" Files []File json:"-" url:"-" dasgo:"files" }

Edit Webhook Message PATCH /webhooks/{webhook.id}/{webhook.token}/messages/{message.id}https://discord.com/developers/docs/resources/webhook#edit-webhook-message

Send sends a EditWebhookMessage request to Discord and returns a Message.

type Embed struct { Title *string json:"title,omitempty" Type *string json:"type,omitempty" Description *string json:"description,omitempty" URL *string json:"url,omitempty" Timestamp *time.Time json:"timestamp,omitempty" Color *int json:"color,omitempty" Image *EmbedImage json:"image,omitempty" Thumbnail *EmbedThumbnail json:"thumbnail,omitempty" Video *EmbedVideo json:"video,omitempty" Provider *EmbedProvider json:"provider,omitempty" Author EmbedAuthor json:"author,omitempty" Fields []EmbedField json:"fields,omitempty" }

Embed Objecthttps://discord.com/developers/docs/resources/channel#embed-object

ErrorEvent represents a WebSocket error that occurs when an attempt to {action} an event fails.

type ErrorEventHandler

ErrorEventHandler represents an Event Handler error that occurs when an attempt to add or remove an event handler fails.

func (ErrorEventHandler) Error

ErrorRequest represents an HTTP Request error that occurs when an attempt to send a request fails.

ErrorSession represents a WebSocket Session error that occurs during an active session.

type ErrorSessionDisconnect struct {

Action [error](/builtin#error)


Err [error](/builtin#error)

}

ErrorSessionDisconnect represents a disconnection error that occurs when an attempt to gracefully disconnect from a session fails.

type ErrorStatusCode struct {

StatusCode [int](/builtin#int)

}

ErrorStatusCode represents an HTTP Request error that occurs when an unexpected response is returned.

type ExecuteWebhook struct { Flags *BitFlag json:"flags,omitempty" url:"-" Wait *bool json:"-" url:"wait,omitempty" ThreadID *string json:"-" url:"thread_id,omitempty" Content *string json:"content,omitempty" url:"-" Username *string json:"username,omitempty" url:"-" AvatarURL *string json:"avatar_url,omitempty" url:"-" TTS *bool json:"tts,omitempty" url:"-" AllowedMentions AllowedMentions json:"allowed_mentions,omitempty" url:"-" Poll Poll json:"poll" url:"-" ThreadName string json:"thread_name,omitempty" url:"-" WebhookToken string json:"-" url:"-" WebhookID string json:"-" url:"-" Embeds []Embed json:"embeds,omitempty" url:"-" Attachments []Attachment json:"attachments,omitempty" url:"-" Files []File json:"-" url:"-" dasgo:"files" AppliedTags []string json:"applied_tags" url:"-" Components []Component json:"components,omitempty" url:"-" }

Execute Webhook POST /webhooks/{webhook.id}/{webhook.token}https://discord.com/developers/docs/resources/webhook#execute-webhook

Send sends a ExecuteWebhook request to Discord and returns a error.

File represents a file attachment.

Flag represents an alias for a Discord API Flag ranging from 0 - 255.

const ( FlagApplicationCommandOptionTypeSUB_COMMAND Flag = 1 FlagApplicationCommandOptionTypeSUB_COMMAND_GROUP Flag = 2 FlagApplicationCommandOptionTypeSTRING Flag = 3 FlagApplicationCommandOptionTypeINTEGER Flag = 4 FlagApplicationCommandOptionTypeBOOLEAN Flag = 5 FlagApplicationCommandOptionTypeUSER Flag = 6 FlagApplicationCommandOptionTypeCHANNEL Flag = 7 FlagApplicationCommandOptionTypeROLE Flag = 8 FlagApplicationCommandOptionTypeMENTIONABLE Flag = 9 FlagApplicationCommandOptionTypeNUMBER Flag = 10 FlagApplicationCommandOptionTypeATTACHMENT Flag = 11 )

Application Command Option Typehttps://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-type

const ( FlagAuditLogEventGUILD_UPDATE Flag = 1 FlagAuditLogEventCHANNEL_CREATE Flag = 10 FlagAuditLogEventCHANNEL_UPDATE Flag = 11 FlagAuditLogEventCHANNEL_DELETE Flag = 12 FlagAuditLogEventCHANNEL_OVERWRITE_CREATE Flag = 13 FlagAuditLogEventCHANNEL_OVERWRITE_UPDATE Flag = 14 FlagAuditLogEventCHANNEL_OVERWRITE_DELETE Flag = 15 FlagAuditLogEventMEMBER_KICK Flag = 20 FlagAuditLogEventMEMBER_PRUNE Flag = 21 FlagAuditLogEventMEMBER_BAN_ADD Flag = 22 FlagAuditLogEventMEMBER_BAN_REMOVE Flag = 23 FlagAuditLogEventMEMBER_UPDATE Flag = 24 FlagAuditLogEventMEMBER_ROLE_UPDATE Flag = 25 FlagAuditLogEventMEMBER_MOVE Flag = 26 FlagAuditLogEventMEMBER_DISCONNECT Flag = 27 FlagAuditLogEventBOT_ADD Flag = 28 FlagAuditLogEventROLE_CREATE Flag = 30 FlagAuditLogEventROLE_UPDATE Flag = 31 FlagAuditLogEventROLE_DELETE Flag = 32 FlagAuditLogEventINVITE_CREATE Flag = 40 FlagAuditLogEventINVITE_UPDATE Flag = 41 FlagAuditLogEventINVITE_DELETE Flag = 42 FlagAuditLogEventWEBHOOK_CREATE Flag = 50 FlagAuditLogEventWEBHOOK_UPDATE Flag = 51 FlagAuditLogEventWEBHOOK_DELETE Flag = 52 FlagAuditLogEventEMOJI_CREATE Flag = 60 FlagAuditLogEventEMOJI_UPDATE Flag = 61 FlagAuditLogEventEMOJI_DELETE Flag = 62 FlagAuditLogEventMESSAGE_DELETE Flag = 72 FlagAuditLogEventMESSAGE_BULK_DELETE Flag = 73 FlagAuditLogEventMESSAGE_PIN Flag = 74 FlagAuditLogEventMESSAGE_UNPIN Flag = 75 FlagAuditLogEventINTEGRATION_CREATE Flag = 80 FlagAuditLogEventINTEGRATION_UPDATE Flag = 81 FlagAuditLogEventINTEGRATION_DELETE Flag = 82 FlagAuditLogEventSTAGE_INSTANCE_CREATE Flag = 83 FlagAuditLogEventSTAGE_INSTANCE_UPDATE Flag = 84 FlagAuditLogEventSTAGE_INSTANCE_DELETE Flag = 85 FlagAuditLogEventSTICKER_CREATE Flag = 90 FlagAuditLogEventSTICKER_UPDATE Flag = 91 FlagAuditLogEventSTICKER_DELETE Flag = 92 FlagAuditLogEventGUILD_SCHEDULED_EVENT_CREATE Flag = 100 FlagAuditLogEventGUILD_SCHEDULED_EVENT_UPDATE Flag = 101 FlagAuditLogEventGUILD_SCHEDULED_EVENT_DELETE Flag = 102 FlagAuditLogEventTHREAD_CREATE Flag = 110 FlagAuditLogEventTHREAD_UPDATE Flag = 111 FlagAuditLogEventTHREAD_DELETE Flag = 112 FlagAuditLogEventAPPLICATION_COMMAND_PERMISSION_UPDATE Flag = 121 FlagAuditLogEventAUTO_MODERATION_RULE_CREATE Flag = 140 FlagAuditLogEventAUTO_MODERATION_RULE_UPDATE Flag = 141 FlagAuditLogEventAUTO_MODERATION_RULE_DELETE Flag = 142 FlagAuditLogEventAUTO_MODERATION_BLOCK_MESSAGE Flag = 143 FlagAuditLogEventAUTO_MODERATION_FLAG_TO_CHANNEL Flag = 144 FlagAuditLogEventAUTO_MODERATION_USER_COMMUNICATION_DISABLED Flag = 145 FlagAuditLogEventCREATOR_MONETIZATION_REQUEST_CREATED Flag = 150 FlagAuditLogEventCREATOR_MONETIZATION_TERMS_ACCEPTED Flag = 151 FlagAuditLogEventONBOARDING_PROMPT_CREATE Flag = 163 FlagAuditLogEventONBOARDING_PROMPT_UPDATE Flag = 164 FlagAuditLogEventONBOARDING_PROMPT_DELETE Flag = 165 FlagAuditLogEventONBOARDING_CREATE Flag = 166 FlagAuditLogEventONBOARDING_UPDATE Flag = 167 FlagAuditLogEventHOME_SETTINGS_CREATE Flag = 190 FlagAuditLogEventHOME_SETTINGS_UPDATE Flag = 191 )

Audit Log Eventshttps://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events

const ( FlagChannelTypeGUILD_TEXT Flag = 0 FlagChannelTypeDM Flag = 1 FlagChannelTypeGUILD_VOICE Flag = 2 FlagChannelTypeGROUP_DM Flag = 3 FlagChannelTypeGUILD_CATEGORY Flag = 4 FlagChannelTypeGUILD_ANNOUNCEMENT Flag = 5 FlagChannelTypeANNOUNCEMENT_THREAD Flag = 10 FlagChannelTypePUBLIC_THREAD Flag = 11 FlagChannelTypePRIVATE_THREAD Flag = 12 FlagChannelTypeGUILD_STAGE_VOICE Flag = 13 FlagChannelTypeGUILD_DIRECTORY Flag = 14 FlagChannelTypeGUILD_FORUM Flag = 15 FlagChannelTypeGUILD_MEDIA Flag = 16 )

Channel Typeshttps://discord.com/developers/docs/resources/channel#channel-object-channel-types

const ( FlagMessageTypeDEFAULT Flag = 0 FlagMessageTypeRECIPIENT_ADD Flag = 1 FlagMessageTypeRECIPIENT_REMOVE Flag = 2 FlagMessageTypeCALL Flag = 3 FlagMessageTypeCHANNEL_NAME_CHANGE Flag = 4 FlagMessageTypeCHANNEL_ICON_CHANGE Flag = 5 FlagMessageTypeCHANNEL_PINNED_MESSAGE Flag = 6 FlagMessageTypeUSER_JOIN Flag = 7 FlagMessageTypeGUILD_BOOST Flag = 8 FlagMessageTypeGUILD_BOOST_TIER_1 Flag = 9 FlagMessageTypeGUILD_BOOST_TIER_2 Flag = 10 FlagMessageTypeGUILD_BOOST_TIER_3 Flag = 11 FlagMessageTypeCHANNEL_FOLLOW_ADD Flag = 12 FlagMessageTypeGUILD_DISCOVERY_DISQUALIFIED Flag = 14 FlagMessageTypeGUILD_DISCOVERY_REQUALIFIED Flag = 15 FlagMessageTypeGUILD_DISCOVERY_GRACE_PERIOD_INITIAL_WARNING Flag = 16 FlagMessageTypeGUILD_DISCOVERY_GRACE_PERIOD_FINAL_WARNING Flag = 17 FlagMessageTypeTHREAD_CREATED Flag = 18 FlagMessageTypeREPLY Flag = 19 FlagMessageTypeCHAT_INPUT_COMMAND Flag = 20 FlagMessageTypeTHREAD_STARTER_MESSAGE Flag = 21 FlagMessageTypeGUILD_INVITE_REMINDER Flag = 22 FlagMessageTypeCONTEXT_MENU_COMMAND Flag = 23 FlagMessageTypeAUTO_MODERATION_ACTION Flag = 24 FlagMessageTypeROLE_SUBSCRIPTION_PURCHASE Flag = 25 FlagMessageTypeINTERACTION_PREMIUM_UPSELL Flag = 26 FlagMessageTypeSTAGE_START Flag = 27 FlagMessageTypeSTAGE_END Flag = 28 FlagMessageTypeSTAGE_SPEAKER Flag = 29 FlagMessageTypeSTAGE_RAISE_HAND Flag = 30 FlagMessageTypeSTAGE_TOPIC Flag = 31 FlagMessageTypeGUILD_APPLICATION_PREMIUM_SUBSCRIPTION Flag = 32 FlagMessageTypeGUILD_INCIDENT_ALERT_MODE_ENABLED Flag = 36 FlagMessageTypeGUILD_INCIDENT_ALERT_MODE_DISABLED Flag = 37 FlagMessageTypeGUILD_INCIDENT_REPORT_RAID Flag = 38 FlagMessageTypeGUILD_INCIDENT_REPORT_FALSE_ALARM Flag = 39 FlagMessageTypePURCHASE_NOTIFICATION Flag = 44 FlagMessageTypePOLL_RESULT Flag = 46 )

Message Typeshttps://discord.com/developers/docs/resources/channel#message-object-message-types

const ( FlagGuildScheduledEventRecurrenceRuleJANUARY Flag = 1 FlagGuildScheduledEventRecurrenceRuleFEBRUARY Flag = 2 FlagGuildScheduledEventRecurrenceRuleMARCH Flag = 3 FlagGuildScheduledEventRecurrenceRuleAPRIL Flag = 4 FlagGuildScheduledEventRecurrenceRuleMAY Flag = 5 FlagGuildScheduledEventRecurrenceRuleJUNE Flag = 6 FlagGuildScheduledEventRecurrenceRuleJULY Flag = 7 FlagGuildScheduledEventRecurrenceRuleAUGUST Flag = 8 FlagGuildScheduledEventRecurrenceRuleSEPTEMBER Flag = 9 FlagGuildScheduledEventRecurrenceRuleOCTOBER Flag = 10 FlagGuildScheduledEventRecurrenceRuleNOVEMBER Flag = 11 FlagGuildScheduledEventRecurrenceRuleDECEMBER Flag = 12 )

Guild Scheduled Event Recurrence Rule - Monthhttps://discord.com/developers/docs/resources/guild-scheduled-event#guild-scheduled-event-recurrence-rule-object-guild-scheduled-event-recurrence-rule-month

const ( FlagPermissionOverwriteTypeRole Flag = 0 FlagPermissionOverwriteTypeMember Flag = 1 )

Permission Overwrite Types

Flags represents an alias for a []Flag for JSON marshal purposes.

type Gateway struct {

ShardManager [ShardManager](#ShardManager)


RateLimiter [RateLimiter](#RateLimiter)


IntentSet map[[BitFlag](#BitFlag)][bool](/builtin#bool)


GatewayPresenceUpdate *[GatewayPresenceUpdate](#GatewayPresenceUpdate)


Intents [BitFlag](#BitFlag)

}

Gateway represents Discord Gateway parameters used to perform various actions by the client.

func (g Gateway) DisableIntent(intent BitFlag)

DisableIntent disables an intent.

Disclaimer: The Bitwise OR operation (used) to add an intent is a DESTRUCTIVE operation.

This means that it can NOT be reversed. As a result, this function will NOT remove an intent that is already enabled.

func (g *Gateway) EnableIntent(intent BitFlag)

EnableIntent enables an intent.

This function does NOT check whether the intent is already enabled. Use the Gateway.IntentSet to check whether the intent is already enabled.

DISCLAIMER. Bots that use DefaultGateway() or DefaultConfig() to initialize the Client have privileged intents = true in the IntentSet by default, which disables the privileged intent.

func (g *Gateway) EnableIntentsPrivileged()

EnableIntentsPrivileged enables all privileged intents.https://discord.com/developers/docs/topics/gateway#privileged-intents

This function does NOT check whether the intent is already enabled. Use the Gateway.IntentSet to check whether the intent is already enabled.

DISCLAIMER. Bots that use DefaultGateway() or DefaultConfig() to initialize the Client have privileged intents = true in the IntentSet by default, which disables the privileged intent.

type Guild struct { PremiumSubscriptionCount *int json:"premium_subscription_count,omitempty" IconHash **string json:"icon_hash,omitempty" Icon *string json:"icon" SystemChannelID *string json:"system_channel_id" Splash *string json:"splash" DiscoverySplash *string json:"discovery_splash" Owner *bool json:"owner,omitempty" Unavailable *bool json:"unavailable,omitempty" Permissions *string json:"permissions,omitempty" AfkChannelID *string json:"afk_channel_id" ApplicationID *string json:"application_id" WidgetEnabled *bool json:"widget_enabled,omitempty" WidgetChannelID **string json:"widget_channel_id,omitempty" WelcomeScreen *WelcomeScreen json:"welcome_screen,omitempty" ApproximatePresenceCount *int json:"approximate_presence_count,omitempty" ApproximateMemberCount *int json:"approximate_member_count,omitempty" MaxStageVideoChannelUsers *int json:"max_stage_video_channel_users,omitempty" MaxVideoChannelUsers *int json:"max_video_channel_users,omitempty" PublicUpdatesChannelID *string json:"public_updates_channel_id" SafetyAlertsChannelID *string json:"safety_alerts_channel_id" Description *string json:"description" VanityUrl *string json:"vanity_url_code" RulesChannelID string json:"rules_channel_id" MaxPresences **int json:"max_presences,omitempty" MaxMembers int json:"max_members,omitempty" Name string json:"name" ID string json:"id" OwnerID string json:"owner_id" PreferredLocale string json:"preferred_locale" Roles []Role json:"roles" Emojis []Emoji json:"emojis" Features []string json:"features" Stickers []Sticker json:"stickers,omitempty" AfkTimeout int json:"afk_timeout" SystemChannelFlags BitFlag json:"system_channel_flags" DefaultMessageNotifications Flag json:"default_message_notifications" MFALevel Flag json:"mfa_level" NSFWLevel Flag json:"nsfw_level" VerificationLevel Flag json:"verification_level" PremiumProgressBarEnabled bool json:"premium_progress_bar_enabled" ExplicitContentFilter Flag json:"explicit_content_filter" PremiumTier Flag json:"premium_tier" }

Guild Objecthttps://discord.com/developers/docs/resources/guild#guild-object

type GuildMember struct { JoinedAt time.Time json:"joined_at" PremiumSince **time.Time json:"premium_since,omitempty" Avatar **string json:"avatar,omitempty" Nick **string json:"nick,omitempty" User *User json:"user,omitempty" Pending *bool json:"pending,omitempty" Permissions *string json:"permissions,omitempty" CommunicationDisabledUntil **time.Time json:"communication_disabled_until,omitempty" AvatarDecorationData **AvatarDecorationData json:"avatar_decoration_data,omitempty" Roles []string json:"roles" Flags BitFlag json:"flags" Deaf bool json:"deaf" Mute bool json:"mute" }

Guild Member Objecthttps://discord.com/developers/docs/resources/guild#guild-member-object

type Handlers

type Handlers struct { Hello []func(Hello) Ready []func(Ready) Resumed []func(Resumed) Reconnect []func(Reconnect) InvalidSession []func(InvalidSession) ApplicationCommandPermissionsUpdate []func(ApplicationCommandPermissionsUpdate) AutoModerationRuleCreate []func(AutoModerationRuleCreate) AutoModerationRuleUpdate []func(AutoModerationRuleUpdate) AutoModerationRuleDelete []func(AutoModerationRuleDelete) AutoModerationActionExecution []func(AutoModerationActionExecution) ChannelCreate []func(ChannelCreate) ChannelUpdate []func(ChannelUpdate) ChannelDelete []func(ChannelDelete) ChannelPinsUpdate []func(ChannelPinsUpdate) ThreadCreate []func(ThreadCreate) ThreadUpdate []func(ThreadUpdate) ThreadDelete []func(ThreadDelete) ThreadListSync []func(ThreadListSync) ThreadMemberUpdate []func(ThreadMemberUpdate) ThreadMembersUpdate []func(ThreadMembersUpdate) EntitlementCreate []func(EntitlementCreate) EntitlementUpdate []func(EntitlementUpdate) EntitlementDelete []func(EntitlementDelete) GuildCreate []func(GuildCreate) GuildUpdate []func(GuildUpdate) GuildDelete []func(GuildDelete) GuildAuditLogEntryCreate []func(GuildAuditLogEntryCreate) GuildBanAdd []func(GuildBanAdd) GuildBanRemove []func(GuildBanRemove) GuildEmojisUpdate []func(GuildEmojisUpdate) GuildStickersUpdate []func(GuildStickersUpdate) GuildIntegrationsUpdate []func(GuildIntegrationsUpdate) GuildMemberAdd []func(GuildMemberAdd) GuildMemberRemove []func(GuildMemberRemove) GuildMemberUpdate []func(GuildMemberUpdate) GuildMembersChunk []func(GuildMembersChunk) GuildRoleCreate []func(GuildRoleCreate) GuildRoleUpdate []func(GuildRoleUpdate) GuildRoleDelete []func(GuildRoleDelete) GuildScheduledEventCreate []func(GuildScheduledEventCreate) GuildScheduledEventUpdate []func(GuildScheduledEventUpdate) GuildScheduledEventDelete []func(GuildScheduledEventDelete) GuildScheduledEventUserAdd []func(GuildScheduledEventUserAdd) GuildScheduledEventUserRemove []func(GuildScheduledEventUserRemove) GuildSoundboardSoundCreate []func(GuildSoundboardSoundCreate) GuildSoundboardSoundUpdate []func(GuildSoundboardSoundUpdate) GuildSoundboardSoundDelete []func(GuildSoundboardSoundDelete) GuildSoundboardSoundsUpdate []func(GuildSoundboardSoundsUpdate) SoundboardSounds []func(SoundboardSounds) IntegrationCreate []func(IntegrationCreate) IntegrationUpdate []func(IntegrationUpdate) IntegrationDelete []func(IntegrationDelete) InteractionCreate []func(InteractionCreate) InviteCreate []func(InviteCreate) InviteDelete []func(InviteDelete) MessageCreate []func(MessageCreate) MessageUpdate []func(MessageUpdate) MessageDelete []func(MessageDelete) MessageDeleteBulk []func(MessageDeleteBulk) MessageReactionAdd []func(MessageReactionAdd) MessageReactionRemove []func(MessageReactionRemove) MessageReactionRemoveAll []func(MessageReactionRemoveAll) MessageReactionRemoveEmoji []func(MessageReactionRemoveEmoji) PresenceUpdate []func(PresenceUpdate) StageInstanceCreate []func(StageInstanceCreate) StageInstanceDelete []func(StageInstanceDelete) StageInstanceUpdate []func(StageInstanceUpdate) SubscriptionCreate []func(SubscriptionCreate) SubscriptionUpdate []func(SubscriptionUpdate) SubscriptionDelete []func(SubscriptionDelete) TypingStart []func(TypingStart) UserUpdate []func(UserUpdate) VoiceChannelEffectSend []func(VoiceChannelEffectSend) VoiceStateUpdate []func(VoiceStateUpdate) VoiceServerUpdate []func(VoiceServerUpdate) WebhooksUpdate []func(WebhooksUpdate) MessagePollVoteAdd []func(MessagePollVoteAdd) MessagePollVoteRemove []func(MessagePollVoteRemove)

}

Handlers represents a bot's event handlers.

type Identify struct { Compress *bool json:"compress,omitempty" LargeThreshold *int json:"large_threshold,omitempty" Shard *[2]int json:"shard,omitempty" Presence *GatewayPresenceUpdate json:"presence,omitempty" Properties IdentifyConnectionProperties json:"properties" Token string json:"token" Intents BitFlag json:"intents" }

Identify Structurehttps://discord.com/developers/docs/topics/gateway-events#identify-identify-structure

func (c *Identify) SendEvent(bot *Client, session *Session) error

SendEvent sends an Opcode 2 Identify event to the Discord Gateway.

func (c *Identify) SendEvents(bot *Client, sm ShardManager) error

SendEvents sends an Opcode 2 Identify event to the Discord Gateway.

type Integration struct { ExpireGracePeriod *int json:"expire_grace_period,omitempty" ExpireBehavior *Flag json:"expire_behavior,omitempty" Application *Application json:"application,omitempty" Revoked *bool json:"revoked,omitempty" SubscriberCount *int json:"subscriber_count,omitempty" RoleID *string json:"role_id,omitempty" SyncedAt *time.Time json:"synced_at,omitempty" EnableEmoticons *bool json:"enable_emoticons,omitempty" Syncing *bool json:"syncing,omitempty" User *User json:"user,omitempty" Account IntegrationAccount json:"account" Name string json:"name" ID string json:"id" Type string json:"type" Scopes []string json:"scopes,omitempty" Enabled bool json:"enabled" }

Integration Objecthttps://discord.com/developers/docs/resources/guild#integration-object

type Interaction struct { Data InteractionData json:"data,omitempty" Member *GuildMember json:"member,omitempty" Locale *string json:"locale,omitempty" User *User json:"user,omitempty" AuthorizingIntegrationOwners map[Flag]string json:"authorizing_integration_owners" GuildID *string json:"guild_id,omitempty" Channel *Channel json:"channel,omitempty" ChannelID *string json:"channel_id,omitempty" GuildLocale *string json:"guild_locale,omitempty" Context *Flag json:"context,omitempty" AppPermissions *BitFlag json:"app_permissions,omitempty,string" Guild *Guild json:"guild,omitempty" Message Message json:"message,omitempty" ApplicationID string json:"application_id" ID string json:"id" Token string json:"token" Entitlements []Entitlement json:"entitlement" Version int json:"version,omitempty" Type Flag json:"type" }

Interaction Objecthttps://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object-interaction-structure

func (*Interaction) ApplicationCommand

func (i *Interaction) ApplicationCommand() *ApplicationCommandData

ApplicationCommand type converts an InteractionData field into an ApplicationCommandData struct.

func (i *Interaction) MessageComponent() *MessageComponentData

MessageComponent type converts an InteractionData field into a MessageComponentData struct.

func (i *Interaction) ModalSubmit() *ModalSubmitData

ModalSubmit type converts an InteractionData field into a ModalSubmitData struct.

type Invite struct { Guild *Guild json:"guild,omitempty" Channel *Channel json:"channel" Inviter *User json:"inviter,omitempty" TargetType *Flag json:"target_type,omitempty" TargetUser *User json:"target_user,omitempty" TargetApplication *Application json:"target_application,omitempty" ApproximatePresenceCount *int json:"approximate_presence_count,omitempty" ApproximateMemberCount *int json:"approximate_member_count,omitempty" ExpiresAt **time.Time json:"expires_at,omitempty" GuildScheduledEvent *GuildScheduledEvent json:"guild_scheduled_event,omitempty" Code string json:"code" Type Flag json:"type" }

Invite Objecthttps://discord.com/developers/docs/resources/invite#invite-object

type ListEntitlements struct { UserID *string url:"user_id,omitempty" Before *string url:"before,omitempty" After *string url:"after,omitempty" Limit *int url:"limit,omitempty" GuildID *string url:"guild_id,omitempty" ExcludeEnded *bool url:"exclude_ended,omitempty" ExcludeDeleted *bool url:"exclude_deleted,omitempty" SKUIDs []string url:"sku_ids,omitempty" }

List Entitlements GET /applications/{application.id}/entitlementshttps://discord.com/developers/docs/resources/entitlement#list-entitlements

Send sends a ListEntitlements request to Discord and returns a []*Entitlement.

type Message struct { Timestamp time.Time json:"timestamp" Thread *Channel json:"thread" RoleSubscriptionData *RoleSubscriptionData json:"role_subscription_data,omitempty" Member *GuildMember json:"member,omitempty" Activity *MessageActivity json:"activity,omitempty" EditedTimestamp *time.Time json:"edited_timestamp" GuildID *string json:"guild_id,omitempty" Call *MessageCall json:"call,omitempty" Poll *Poll json:"poll,omitempty" Resolved *ResolvedData json:"resolved,omitempty" Flags *BitFlag json:"flags,omitempty" Position *int json:"position,omitempty" Interaction *MessageInteraction json:"interaction" ApplicationID *string json:"application_id,omitempty" Nonce Nonce json:"nonce,omitempty" ReferencedMessage **Message json:"referenced_message,omitempty" WebhookID string json:"webhook_id,omitempty" MessageReference MessageReference json:"message_reference,omitempty" Application Application json:"application,omitempty" Author User json:"author" InteractionMetadata MessageComponentInteractionMetadata json:"interaction_metadata,omitempty" ChannelID string json:"channel_id" ID string json:"id" Content string json:"content" Components []Component json:"components" Reactions []Reaction json:"reactions,omitempty" Embeds []Embed json:"embeds" MessageSnapshots []MessageSnapshot json:"message_snapshots,omitempty" StickerItems []StickerItem json:"sticker_items" Attachments []Attachment json:"attachments" MentionChannels []ChannelMention json:"mention_channels,omitempty" MentionRoles []string json:"mention_roles" Mentions []User json:"mentions" Pinned bool json:"pinned" MentionEveryone bool json:"mention_everyone" TTS bool json:"tts" Type Flag json:"type" }

Message Objecthttps://discord.com/developers/docs/resources/channel#message-object

type ModifyAutoModerationRule struct { GuildID string json:"-" AutoModerationRuleID string json:"-" Name *string json:"name,omitempty" EventType *Flag json:"event_type,omitempty" TriggerType *Flag json:"trigger_type,omitempty" TriggerMetadata TriggerMetadata json:"trigger_metadata,omitempty" Actions []AutoModerationAction json:"actions,omitempty" Enabled *bool json:"enabled,omitempty" ExemptRoles []string json:"exempt_roles,omitempty" ExemptChannels []string json:"exempt_channels,omitempty" }

Modify Auto Moderation Rule PATCH /guilds/{guild.id}/auto-moderation/rules/{auto_moderation_rule.id}https://discord.com/developers/docs/resources/auto-moderation#modify-auto-moderation-rule

Send sends a ModifyAutoModerationRule request to Discord and returns a AutoModerationRule.

type ModifyChannelGuild struct { UserLimit **int json:"user_limit,omitempty" DefaultSortOrder **Flag json:"default_sort_order,omitempty" PermissionOverwrites []PermissionOverwrite json:"permission_overwrites,omitempty" Position **int json:"position,omitempty" Topic **string json:"topic,omitempty" NSFW **bool json:"nsfw,omitempty" RateLimitPerUser **int json:"rate_limit_per_user,omitempty" Bitrate **int json:"bitrate,omitempty" Type *Flag json:"type,omitempty" Name *string json:"name,omitempty" RTCRegion **string json:"rtc_region,omitempty" ParentID **string json:"parent_id,omitempty" VideoQualityMode **Flag json:"video_quality_mode,omitempty" DefaultAutoArchiveDuration **int json:"default_auto_archive_duration,omitempty" Flags *BitFlag json:"flags,omitempty" DefaultThreadRateLimitPerUser *int json:"default_thread_rate_limit_per_user,omitempty" DefaultReactionEmoji **DefaultReaction json:"default_reaction_emoji,omitempty" ChannelID string json:"-" AvailableTags []*ForumTag json:"available_tags,omitempty" }

Modify Channel Guild PATCH /channels/{channel.id}https://discord.com/developers/docs/resources/channel#modify-channel-json-params-guild-channel

Send sends a ModifyChannelGuild request to Discord and returns a Channel.

type ModifyChannelThread struct { ChannelID string json:"-" Name *string json:"name,omitempty" Archived *bool json:"archived,omitempty" AutoArchiveDuration *int json:"auto_archive_duration,omitempty" Locked *bool json:"locked,omitempty" Invitable *bool json:"invitable,omitempty" RateLimitPerUser **int json:"rate_limit_per_user,omitempty" Flags *BitFlag json:"flags,omitempty" AppliedTags []string json:"applied_tags,omitempty" }

Modify Channel PATCH /channels/{channel.id}https://discord.com/developers/docs/resources/channel#modify-channel-json-params-thread

Send sends a ModifyChannelThread request to Discord and returns a Channel.

type ModifyGuild struct { DiscoverySplash **string json:"discovery_splash,omitempty" PreferredLocale **string json:"preferred_locale,omitempty" SafetyAlertsChannelID **string json:"safety_alerts_channel_id,omitempty" SystemChannelID **string json:"system_channel_id,omitempty" AFKChannelID **string json:"afk_channel_id,omitempty" PremiumProgressBarEnabled *bool json:"premium_progress_bar_enabled,omitempty" Icon **string json:"icon,omitempty" Description **string json:"description,omitempty" Splash **string json:"splash,omitempty" VerificationLevel **Flag json:"verification_level,omitempty" ExplicitContentFilter **Flag json:"explicit_content_filter,omitempty" DefaultMessageNotifications **Flag json:"default_message_notifications,omitempty" SystemChannelFlags *BitFlag json:"system_channel_flags,omitempty" RulesChannelID **string json:"rules_channel_id,omitempty" PublicUpdatesChannelID **string json:"public_updates_channel_id,omitempty" Name string json:"name,omitempty" OwnerID string json:"owner_id,omitempty" GuildID string json:"-" Features []string json:"features,omitempty" AfkTimeout int json:"afk_timeout,omitempty" }

Modify Guild PATCH /guilds/{guild.id}https://discord.com/developers/docs/resources/guild#modify-guild

Send sends a ModifyGuild request to Discord and returns a Guild.

type ModifyGuildMember struct { Nick **string json:"nick,omitempty" Roles *[]string json:"roles,omitempty" Mute **bool json:"mute,omitempty" Deaf **bool json:"deaf,omitempty" ChannelID **string json:"channel_id,omitempty" CommunicationDisabledUntil **time.Time json:"communication_disabled_until,omitempty" Flags **BitFlag json:"flags,omitempty" GuildID string json:"-" UserID string json:"-" }

Modify Guild Member PATCH /guilds/{guild.id}/members/{user.id}https://discord.com/developers/docs/resources/guild#modify-guild-member

Send sends a ModifyGuildMember request to Discord and returns a GuildMember.

type ModifyGuildRole struct { Name **string json:"name,omitempty" Permissions **string json:"permissions,omitempty" Color **int json:"color,omitempty" Hoist **bool json:"hoist,omitempty" Icon **string json:"icon,omitempty" UnicodeEmoji **string json:"unicode_emoji,omitempty" Mentionable **bool json:"mentionable,omitempty" GuildID string json:"-" RoleID string json:"-" }

Modify Guild Role PATCH /guilds/{guild.id}/roles/{role.id}https://discord.com/developers/docs/resources/guild#modify-guild-role

Send sends a ModifyGuildRole request to Discord and returns a Role.

type ModifyGuildScheduledEvent struct { ChannelID *string json:"channel_id,omitempty" EntityMetadata **GuildScheduledEventEntityMetadata json:"entity_metadata,omitempty" Name *string json:"name,omitempty" PrivacyLevel *Flag json:"privacy_level,omitempty" ScheduledStartTime *time.Time json:"scheduled_start_time,omitempty" ScheduledEndTime *time.Time json:"scheduled_end_time,omitempty" Description **string json:"description,omitempty" EntityType *Flag json:"entity_type,omitempty" Status *Flag json:"status,omitempty" Image *string json:"image,omitempty" GuildID string json:"-" GuildScheduledEventID string json:"-" }

Modify Guild Scheduled Event PATCH /guilds/{guild.id}/scheduled-events/{guild_scheduled_event.id}https://discord.com/developers/docs/resources/guild-scheduled-event#modify-guild-scheduled-event

Send sends a ModifyGuildScheduledEvent request to Discord and returns a GuildScheduledEvent.

Nonce represents a Discord nonce (integer or string).

type PointerIndicator uint8

PointerIndicator represents a Dasgo double pointer value indicator.

const (

IsValueNothing [PointerIndicator](#PointerIndicator) = 0


IsValueNull [PointerIndicator](#PointerIndicator) = 1


IsValueValid [PointerIndicator](#PointerIndicator) = 2

)

func PointerCheck[T any](dp **T) PointerIndicator

PointerCheck returns whether the given double pointer contains a value.

returns IsValueNothing, IsValueNull, or IsValueValid.

IsValueNothing indicates that the field was not provided. IsValueNull indicates the field was provided with a null value. IsValueValid indicates that the field is a valid value.

type RateLimit struct {

DefaultBucket *[Bucket](#Bucket)

}

RateLimit provides concurrency-safe rate limit functionality by implementing the RateLimiter interface.

func (r *RateLimit) EndTx()

func (r *RateLimit) GetBucketFromID(bucketid string) *Bucket

func (r *RateLimit) Lock()

func (r *RateLimit) SetBucket(routeid string, bucket *Bucket)

func (r *RateLimit) SetBucketFromID(bucketid string, bucket *Bucket)

func (r *RateLimit) SetDefaultBucket(bucket *Bucket)

func (r *RateLimit) StartTx()

func (r *RateLimit) Unlock()

type RateLimiter interface {

SetBucketID(routeid [string](/builtin#string), bucketid [string](/builtin#string))


GetBucketID(routeid [string](/builtin#string)) [string](/builtin#string)


SetBucketFromID(bucketid [string](/builtin#string), bucket *[Bucket](#Bucket))


GetBucketFromID(bucketid [string](/builtin#string)) *[Bucket](#Bucket)


SetBucket(routeid [string](/builtin#string), bucket *[Bucket](#Bucket))


GetBucket(routeid [string](/builtin#string), resourceid [string](/builtin#string)) *[Bucket](#Bucket)


SetDefaultBucket(bucket *[Bucket](#Bucket))


Lock()


Unlock()


StartTx()


EndTx()

}

RateLimiter represents an interface for rate limits.

RateLimiter is an interface which allows developers to use multi-application architectures, which run multiple applications on separate processes or servers.

Request represents Discord Request parameters used to perform various actions by the client.

func DefaultRequest() Request

DefaultRequest returns a Default Request configuration.

Session represents a Discord Gateway WebSocket Session.

func NewSession() *Session

NewSession gets a Session from a pool.

Connect connects a session to the Discord Gateway (WebSocket Connection).

func (s *Session) Disconnect() error

Disconnect disconnects a session from the Discord Gateway.

Monitor returns the current amount of HeartbeatACKs for a Session's heartbeat.

Reconnect reconnects an already connected session to the Discord Gateway by disconnecting the session, then connecting again.

State returns the state of the Session's connection to Discord.

Wait blocks until the calling Session is inactive (due to a final disconnect), then returns the Session's state and the disconnection error (when it exists).

If Wait() is called on a Session that isn't connected, it will return immediately with code SessionStateNew.

A disconnected session is reset and placed into a memory pool, so do NOT modify a Session after it disconnects.

SessionManager manages sessions.

func NewSessionManager() *SessionManager

NewSessionManager creates a new SessionManager.

GetVoiceChannelConnection gets a Voice Channel Connection using a given Guild ID.

func (sm *SessionManager) RemoveGatewaySession(id string)

RemoveGatewaySession removes a Gateway Session and its Voice Channel Connections from the Session Manager.

func (sm *SessionManager) StoreVoiceChannelConnection(sessionid string, guildid string, vc *VoiceChannelConnection)

StoreVoiceChannelConnection stores a Voice Channel Connection.

type ShardLimit struct {

Reset [time](/time).[Time](/time#Time)


MaxStarts [int](/builtin#int)


RemainingStarts [int](/builtin#int)


MaxConcurrency [int](/builtin#int)


RecommendedShards [int](/builtin#int)

}

ShardLimit contains information about sharding limits.

type ShardManager interface {

SetNumShards(shards [int](/builtin#int))


SetLimit(bot *[Client](#Client)) (response *[GetGatewayBotResponse](#GetGatewayBotResponse), err [error](/builtin#error))


GetSessions() []*[Session](#Session)


Ready(bot *[Client](#Client), session *[Session](#Session), event *[Ready](#Ready))


Connect(bot *[Client](#Client)) [error](/builtin#error)


Disconnect() [error](/builtin#error)


Reconnect() [error](/builtin#error)

}

ShardManager represents an interface for Shard Management.

ShardManager is an interface which allows developers to use multi-application architectures, which run multiple applications on separate processes or servers.

type StartThreadinForumChannel struct { ChannelID string json:"-" Name string json:"name" AutoArchiveDuration *int json:"auto_archive_duration,omitempty" RateLimitPerUser **int json:"rate_limit_per_user,omitempty" Message ForumAndMediaThreadMessageParams json:"message" AppliedTags []string json:"applied_tags,omitempty" Files []File json:"-" url:"-" dasgo:"files" }

Start Thread in Forum Channel POST /channels/{channel.id}/threadshttps://discord.com/developers/docs/resources/channel#start-thread-in-forum-channel

Send sends a StartThreadinForumChannel request to Discord and returns a Channel.

type StartThreadwithoutMessage struct { AutoArchiveDuration *int json:"auto_archive_duration,omitempty" Type *Flag json:"type,omitempty" Invitable *bool json:"invitable,omitempty" RateLimitPerUser **int json:"rate_limit_per_user,omitempty" ChannelID string json:"-" Name string json:"name" }

Start Thread without Message POST /channels/{channel.id}/threadshttps://discord.com/developers/docs/resources/channel#start-thread-without-message

Send sends a StartThreadwithoutMessage request to Discord and returns a Channel.

type User struct { Avatar *string json:"avatar" AvatarDecoration **AvatarDecorationData json:"avatar_decoration,omitempty" GlobalName *string json:"global_name" AccentColor **int json:"accent_color,omitempty" Bot *bool json:"bot,omitempty" System *bool json:"system,omitempty" Locale *string json:"locale,omitempty" PublicFlags *BitFlag json:"public_flag,omitempty" PremiumType *Flag json:"premium_type,omitempty" MFAEnabled *bool json:"mfa_enabled,omitempty" Verified *bool json:"verified,omitempty" Email **string json:"email,omitempty" Flags *BitFlag json:"flag,omitempty" Username string json:"username" Discriminator string json:"discriminator" ID string json:"id" }

User Objecthttps://discord.com/developers/docs/resources/user#user-object

Value represents a value (string, integer, double, or bool).

type VoiceChannelConnection struct { GatewaySession *Session VoiceSession *VoiceSession Connection *net.UDPConn State GatewayVoiceStateUpdate }

VoiceChannelConnection represents a Discord Voice Channel Connection.

A Discord Voice Channel Connection is composed of three connections:

  1. Gateway WebSocket Session (TCP): Used to connect to the Voice Websocket Session and receive information about who is in the voice channel.
  2. Voice WebSocket Session (TCP): Used to connect to the Voice UDP Connection and receive information about who is speaking in the voice channel.
  3. Voice Connection (UDP): Used to send and receive audio from Discord.

VoiceConnection connects the bot to a Discord Voice Channel using the Discord Gateway.

type VoiceHandlers added in v1.10.2

type VoiceHandlers struct { VoiceReady []func(VoiceReady) SessionDescription []func(SessionDescription) Speaking []func(Speaking) VoiceHello []func(VoiceHello) VoiceResumed []func(VoiceResumed) ClientDisconnect []func(ClientDisconnect)

}

VoiceHandlers represents a voice channel connection's event handlers.

VoiceSession represents a Discord Voice WebSocket Session.

Monitor returns the current amount of HeartbeatACKs for a Voice Session's heartbeat.