gdk

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2026 License: MIT Imports: 8 Imported by: 0

README

Go Discord Kit

Overview

gdk is an application command framework built on top of gda. It provides slash command routing, differential command synchronization, token-bucket rate limiting, UI component handling and dual execution transports (persistent Gateway WebSocket or serverless HTTP Webhooks) using only the Go standard library.

Installation

Requires Go 1.24 or higher:

go get github.com/sfossl/gdk

Architecture

gdk is organized into focused subsystems:

  • App: Application lifecycle runner, functional configuration, graceful shutdown, dual execution transports and modular registration (Module).
  • Command: Slash command declarations, typed option definitions across all 9 Discord option types, subcommand trees, autocomplete routing and local schema validation.
  • Context: Execution context passed to handlers, typed option extraction with default fallbacks, automatic 2.5-second deferral and fluent action suites.
  • Component: Declarative builders for rich embeds with strict limit checking, buttons, select menus, action rows with auto-packing (PackRows) and modals.
  • Middleware: Interception pipelines, 64-shard partitioned token-bucket cooldown store, permission checks and panic recovery (Guard).
  • Utilities: Compound human duration parsing (1h 30m, 2d) and dynamic Discord markdown timestamp formatting (<t:UNIX:STYLE>).
flowchart TD
    Gateway(["Gateway Events"]) --- App["gdk/app"]
    Webhook(["HTTP Webhooks"]) --- App

    App --- Sync["gdk/sync"]
    App --- Middleware["gdk/middleware"]

    Middleware --- Command["gdk/command"]
    Command --- Context(["*gdk.Context"])

    Context --- ContextEngine["gdk/context"]
    Context --- Component["gdk/component"]

    Sync --- GDAREST["gda/rest"]
    ContextEngine --- GDAREST

    GDAREST --- DiscordREST(["Discord REST API"])

Capabilities

  • Differential Synchronization: Deterministic SHA-256 hash comparison across registered command schemas on startup, issuing zero REST requests when definitions are unchanged.
  • Automatic Deferral: Transparently defers interactions before Discord's 3-second deadline expires, seamlessly routing follow-up responses to asynchronous webhook edits.
  • Modern Interactions and Event Hooks: Optimized for Discord's application command architecture while retaining direct access to raw Gateway events (OnMessageCreate) via gda for custom message parsing when needed.
  • Stateless Action Suites: Fluent moderation, role and channel actions with built-in client-side role hierarchy verification prior to dispatching REST calls.
  • Dual Transports: Run as a persistent Gateway WebSocket connection or deploy as a serverless HTTP Webhook handler with Ed25519 cryptographic signature verification.

Ecosystem

gdk is the application layer of the SFOSSL Discord ecosystem:

  • gda: Low-level driver for Gateway WebSocket events and REST API v10 endpoints.
  • gdk: Higher-level interaction framework built on top of gda. Provides slash command routing, auto-deferrals, cooldowns and action suites.

Properties

  • True Multi-Core Concurrency: Executes every interaction on Go's M:N goroutine scheduler across all available CPU cores without blocking connection lifecycles or heartbeat workers.
  • Single Static Binary and Low Footprint: Compiles to a self-contained, statically linked binary with zero external dependencies and an idle memory footprint under 20MB. Eliminates large runtime installations, container layer bloat and dependency drift between environments.
  • Deterministic Differential Sync: Avoids exhausting Discord's daily application command creation limits (Error Code 30034) by hashing registered command schemas with SHA-256 on boot, issuing zero REST requests when schemas are unchanged.
  • Safe Typed Option Extraction: Eliminates untyped pointer traversal and runtime nil-dereference panics through indexed, chainable option accessors with default values (ctx.Opt("query").String()).
  • Serverless and Dual Transports: Native support for both persistent Gateway WebSockets and stateless HTTP Webhooks with Ed25519 signature verification, enabling seamless deployments on containerized serverless platforms.

Limitations

gdk is intentionally specialized for modern interaction-based applications. It is not a general-purpose framework for every type of Discord bot:

  • No Voice or Audio Streaming: gdk does not implement voice Gateway connections, Opus encoding or media streaming. If your bot's primary capability is voice playback or music streaming, dedicated audio libraries are currently a better fit.
  • No Monolithic In-Memory Entity Cache: Unlike frameworks that store gigabytes of guild, member, role and presence objects in RAM by default, gdk runs stateless. Querying deep member or guild metadata requires explicit REST calls, which introduces network round-trip latency unless paired with a cache.
  • No Built-in Chat Prefix Router: gdk is architected exclusively around Discord's modern Application Commands (slash commands, context menus, buttons, select menus and modals). While raw message events (OnMessageCreate) can be handled via the underlying driver, gdk provides no built-in prefix parser (e.g. !command), argument tokenizer or legacy command routing.
  • Ecosystem Maturity: gdk is focused on core primitives rather than an extensive marketplace of third-party plugins, web dashboards or high-level database ORMs.

Roadmap

  • Pluggable Caching Engine: An embedded, zero-configuration key-value caching companion package designed to provide sub-microsecond in-memory state and eliminate REST round-trips for high-traffic bots.
  • Modular Voice Extensions: Dedicated audio and voice Gateway extensions maintained as optional modules outside the core driver. Community contributions in this area are welcome.

Documentation

Guide Description
Getting Started Bootstrap layout, app options, lifecycle and environment setup
Slash Commands Slash commands, option types, subcommands, choices and autocomplete
Execution Context Handler context, option getters, response lifecycle and auto-deferral
Unified Modules Universal options matrix and the 5 unified execution engines
Components & Modals Embed builders, buttons, select menus, action rows and modals
Middleware Token-bucket cooldowns, permission guards and panic recovery
Command Synchronization Differential SHA-256 command hashing and zero-REST deployment
Transports Gateway WebSocket and serverless Ed25519 HTTP Webhook models
Time Utilities Compound duration parsing, dynamic Discord timestamps and logger
API Reference Full specification of exported types, methods and error sentinels

References

  • Go Discord API: Low-level Go driver for Gateway WebSocket connections and REST API v10 endpoints.
  • Discord Developer Documentation: Official reference for Discord API v10, interactions and application commands.
  • RFC 8032: Edwards-Curve Digital Signature Algorithm (Ed25519) specification used for interaction webhook verification.

Documentation

Index

Constants

View Source
const (
	ModeGateway = app.ModeGateway
	ModeWebhook = app.ModeWebhook

	CommandTypeChatInput = command.CommandTypeChatInput
	CommandTypeUser      = command.CommandTypeUser
	CommandTypeMessage   = command.CommandTypeMessage

	OptionTypeSubcommand      = command.OptionTypeSubcommand
	OptionTypeSubcommandGroup = command.OptionTypeSubcommandGroup
	OptionTypeString          = command.OptionTypeString
	OptionTypeInteger         = command.OptionTypeInteger
	OptionTypeBoolean         = command.OptionTypeBoolean
	OptionTypeUser            = command.OptionTypeUser
	OptionTypeChannel         = command.OptionTypeChannel
	OptionTypeRole            = command.OptionTypeRole
	OptionTypeMentionable     = command.OptionTypeMentionable
	OptionTypeNumber          = command.OptionTypeNumber
	OptionTypeAttachment      = command.OptionTypeAttachment

	LogFormatText = util.LogFormatText
	LogFormatJSON = util.LogFormatJSON
	LogFormatCSV  = util.LogFormatCSV

	MaxTimeoutDuration = context.MaxTimeoutDuration
	MaxBanDeleteSec    = context.MaxBanDeleteSec
	MaxSlowmodeSeconds = context.MaxSlowmodeSeconds

	Day   = util.Day
	Month = util.Month
	Year  = util.Year

	ModKick          = context.ModKick
	ModBan           = context.ModBan
	ModUnban         = context.ModUnban
	ModTimeout       = context.ModTimeout
	ModRemoveTimeout = context.ModRemoveTimeout

	ChannelCreate = context.ChannelCreate
	ChannelEdit   = context.ChannelEdit
	ChannelDelete = context.ChannelDelete
	ChannelPurge  = context.ChannelPurge
	ChannelLock   = context.ChannelLock

	RoleCreate = context.RoleCreate
	RoleEdit   = context.RoleEdit
	RoleDelete = context.RoleDelete

	MsgPin            = context.MsgPin
	MsgUnpin          = context.MsgUnpin
	MsgDelete         = context.MsgDelete
	MsgCrosspost      = context.MsgCrosspost
	MsgReact          = context.MsgReact
	MsgUnreact        = context.MsgUnreact
	MsgClearReactions = context.MsgClearReactions
	MsgEdit           = context.MsgEdit
	MsgPurge          = context.MsgPurge

	DefaultDMReceipt        = defaults.DMReceipt
	DefaultPanicMessage     = defaults.PanicMessage
	DefaultCooldownMessage  = defaults.CooldownMessage
	DefaultUserMissingPerms = defaults.UserMissingPerms
	DefaultBotMissingPerms  = defaults.BotMissingPerms

	ColorBlurple = component.ColorBlurple
	ColorGreen   = component.ColorGreen
	ColorYellow  = component.ColorYellow
	ColorFuchsia = component.ColorFuchsia
	ColorRed     = component.ColorRed
	ColorWhite   = component.ColorWhite
	ColorBlack   = component.ColorBlack
	ColorDark    = component.ColorDark
	ColorNavy    = component.ColorNavy
	ColorAqua    = component.ColorAqua
	ColorTeal    = component.ColorTeal
	ColorOlive   = component.ColorOlive
	ColorLime    = component.ColorLime
	ColorOrange  = component.ColorOrange
	ColorMaroon  = component.ColorMaroon
	ColorPurple  = component.ColorPurple

	ButtonStylePrimary   = component.ButtonStylePrimary
	ButtonStyleSecondary = component.ButtonStyleSecondary
	ButtonStyleSuccess   = component.ButtonStyleSuccess
	ButtonStyleDanger    = component.ButtonStyleDanger
	ButtonStyleLink      = component.ButtonStyleLink

	TextInputStyleShort     = component.TextInputStyleShort
	TextInputStyleParagraph = component.TextInputStyleParagraph

	MaxActionRows       = component.MaxActionRows
	MaxButtonsPerRow    = component.MaxButtonsPerRow
	MaxSelectsPerRow    = component.MaxSelectsPerRow
	MaxTextInputsPerRow = component.MaxTextInputsPerRow

	CooldownScopeUser    = command.CooldownScopeUser
	CooldownScopeChannel = command.CooldownScopeChannel
	CooldownScopeGuild   = command.CooldownScopeGuild
	CooldownScopeGlobal  = command.CooldownScopeGlobal

	ScopeUser    = middleware.ScopeUser
	ScopeChannel = middleware.ScopeChannel
	ScopeGuild   = middleware.ScopeGuild
	ScopeGlobal  = middleware.ScopeGlobal

	TargetUser = middleware.TargetUser
	TargetBot  = middleware.TargetBot

	PermissionAdministrator   = types.PermissionAdministrator
	PermissionManageGuild     = types.PermissionManageGuild
	PermissionManageRoles     = types.PermissionManageRoles
	PermissionManageChannels  = types.PermissionManageChannels
	PermissionKickMembers     = types.PermissionKickMembers
	PermissionBanMembers      = types.PermissionBanMembers
	PermissionModerateMembers = types.PermissionModerateMembers
	PermissionManageMessages  = types.PermissionManageMessages
	PermissionSendMessages    = types.PermissionSendMessages
	PermissionViewChannel     = types.PermissionViewChannel

	IntentGuilds         = types.IntentGuilds
	IntentGuildMembers   = types.IntentGuildMembers
	IntentGuildMessages  = types.IntentGuildMessages
	IntentMessageContent = types.IntentMessageContent
	IntentsDefault       = types.IntentsDefault
	IntentsNonPrivileged = types.IntentsNonPrivileged

	InteractionTypePing                           = types.InteractionTypePing
	InteractionTypeApplicationCommand             = types.InteractionTypeApplicationCommand
	InteractionTypeMessageComponent               = types.InteractionTypeMessageComponent
	InteractionTypeApplicationCommandAutocomplete = types.InteractionTypeApplicationCommandAutocomplete
	InteractionTypeModalSubmit                    = types.InteractionTypeModalSubmit

	CallbackTypePong                                 = types.CallbackTypePong
	CallbackTypeChannelMessageWithSource             = types.CallbackTypeChannelMessageWithSource
	CallbackTypeDeferredChannelMessageWithSource     = types.CallbackTypeDeferredChannelMessageWithSource
	CallbackTypeDeferredUpdateMessage                = types.CallbackTypeDeferredUpdateMessage
	CallbackTypeUpdateMessage                        = types.CallbackTypeUpdateMessage
	CallbackTypeApplicationCommandAutocompleteResult = types.CallbackTypeApplicationCommandAutocompleteResult
	CallbackTypeModal                                = types.CallbackTypeModal

	ComponentTypeActionRow         = types.ComponentTypeActionRow
	ComponentTypeButton            = types.ComponentTypeButton
	ComponentTypeStringSelect      = types.ComponentTypeStringSelect
	ComponentTypeTextInput         = types.ComponentTypeTextInput
	ComponentTypeUserSelect        = types.ComponentTypeUserSelect
	ComponentTypeRoleSelect        = types.ComponentTypeRoleSelect
	ComponentTypeMentionableSelect = types.ComponentTypeMentionableSelect
	ComponentTypeChannelSelect     = types.ComponentTypeChannelSelect
)

Variables

View Source
var (
	ParseSnowflake = types.ParseSnowflake

	StringOption                   = command.StringOption
	IntOption                      = command.IntOption
	NumberOption                   = command.NumberOption
	BoolOption                     = command.BoolOption
	UserOption                     = command.UserOption
	ChannelOption                  = command.ChannelOption
	RoleOption                     = command.RoleOption
	MentionableOption              = command.MentionableOption
	AttachmentOption               = command.AttachmentOption
	ValidateCommand                = command.Validate
	ErrInvalidName                 = command.ErrInvalidName
	ErrNameTooLong                 = command.ErrNameTooLong
	ErrEmptyName                   = command.ErrEmptyName
	ErrEmptyDescription            = command.ErrEmptyDescription
	ErrDescriptionTooLong          = command.ErrDescriptionTooLong
	ErrSubcommandTopOptions        = command.ErrSubcommandTopOptions
	ErrTooManyOptions              = command.ErrTooManyOptions
	ErrTooManyChoices              = command.ErrTooManyChoices
	ErrAutocompleteWithChoices     = command.ErrAutocompleteWithChoices
	ErrEmptySubcommandGroup        = command.ErrEmptySubcommandGroup
	ErrEmptyChoiceName             = command.ErrEmptyChoiceName
	ErrChoiceNameTooLong           = command.ErrChoiceNameTooLong
	ErrInvalidChoiceValue          = command.ErrInvalidChoiceValue
	ErrRequiredOptionAfterOptional = command.ErrRequiredOptionAfterOptional
	ErrDuplicateOptionName         = command.ErrDuplicateOptionName
	ErrDuplicateChoiceName         = command.ErrDuplicateChoiceName
	ErrContextMenuHasDescription   = command.ErrContextMenuHasDescription
	ErrContextMenuHasOptions       = command.ErrContextMenuHasOptions

	ErrNotInGuild               = context.ErrNotInGuild
	ErrNoRESTClient             = context.ErrNoRESTClient
	ErrCannotModerateSelf       = context.ErrCannotModerateSelf
	ErrCannotModerateOwner      = context.ErrCannotModerateOwner
	ErrTargetOutranksUser       = context.ErrTargetOutranksUser
	ErrTargetOutranksBot        = context.ErrTargetOutranksBot
	ErrInvalidTarget            = context.ErrInvalidTarget
	ErrInvalidModType           = context.ErrInvalidModType
	ErrAlreadyResponded         = context.ErrAlreadyResponded
	ErrModalAfterDefer          = context.ErrModalAfterDefer
	ErrNoInteraction            = context.ErrNoInteraction
	ErrEmptyMessage             = context.ErrEmptyMessage
	ErrEmptyMemberUpdate        = context.ErrEmptyMemberUpdate
	ErrTimeoutTooLong           = context.ErrTimeoutTooLong
	ErrTimeoutTooShort          = context.ErrTimeoutTooShort
	ErrBanDeleteTooLong         = context.ErrBanDeleteTooLong
	ErrInvalidChannelID         = context.ErrInvalidChannelID
	ErrChannelNameRequired      = context.ErrChannelNameRequired
	ErrSlowmodeTooLong          = context.ErrSlowmodeTooLong
	ErrSlowmodeNegative         = context.ErrSlowmodeNegative
	ErrInvalidPurgeCount        = context.ErrInvalidPurgeCount
	ErrMessagesTooOld           = context.ErrMessagesTooOld
	ErrInvalidChannelAction     = context.ErrInvalidChannelAction
	ErrInvalidRoleID            = context.ErrInvalidRoleID
	ErrRoleNotFound             = context.ErrRoleNotFound
	ErrRoleOutranksBot          = context.ErrRoleOutranksBot
	ErrRoleOutranksUser         = context.ErrRoleOutranksUser
	ErrCannotModifyEveryoneRole = context.ErrCannotModifyEveryoneRole
	ErrInvalidRoleAction        = context.ErrInvalidRoleAction
	ErrInvalidMessageID         = context.ErrInvalidMessageID
	ErrInvalidMessageAction     = context.ErrInvalidMessageAction
	ErrEmojiRequired            = context.ErrEmojiRequired

	Time                = util.New
	FormatTime          = util.Format
	ParseDuration       = util.ParseDuration
	FormatDuration      = util.FormatDuration
	FormatDurationHuman = util.FormatDurationHuman
	ErrInvalidDuration  = util.ErrInvalidDuration
	ErrEmptyDuration    = util.ErrEmptyDuration
	ErrUnknownUnit      = util.ErrUnknownUnit
	ErrInvalidTime      = util.ErrInvalidTime
	ErrUnsupportedType  = util.ErrUnsupportedType

	NewEmbed     = component.NewEmbed
	RGB          = component.RGB
	Hex          = component.Hex
	ResolveColor = component.ResolveColor

	Button             = component.Button
	WithButtonEmoji    = component.WithButtonEmoji
	WithButtonDisabled = component.WithButtonDisabled

	StringSelect       = component.StringSelect
	UserSelect         = component.UserSelect
	RoleSelect         = component.RoleSelect
	MentionableSelect  = component.MentionableSelect
	ChannelSelect      = component.ChannelSelect
	WithRange          = component.WithRange
	WithSelectDisabled = component.WithSelectDisabled
	WithChannelTypes   = component.WithChannelTypes
	SelectOption       = component.SelectOption
	WithOptionEmoji    = component.WithOptionEmoji
	WithOptionDefault  = component.WithOptionDefault

	TextInputShort     = component.TextInputShort
	TextInputParagraph = component.TextInputParagraph
	WithPlaceholder    = component.WithPlaceholder
	WithValue          = component.WithValue
	WithMinLength      = component.WithMinLength
	WithMaxLength      = component.WithMaxLength
	WithRequired       = component.WithRequired

	ActionRow    = component.ActionRow
	Row          = component.Row
	PackRows     = component.PackRows
	ValidateRows = component.ValidateRows

	ErrInvalidColor            = component.ErrInvalidColor
	ErrColorOutOfRange         = component.ErrColorOutOfRange
	ErrEmbedTitleTooLong       = component.ErrEmbedTitleTooLong
	ErrEmbedDescriptionTooLong = component.ErrEmbedDescriptionTooLong
	ErrEmbedTooManyFields      = component.ErrEmbedTooManyFields
	ErrEmbedFieldNameTooLong   = component.ErrEmbedFieldNameTooLong
	ErrEmbedFieldValueTooLong  = component.ErrEmbedFieldValueTooLong
	ErrEmbedFieldMissingName   = component.ErrEmbedFieldMissingName
	ErrEmbedFieldMissingValue  = component.ErrEmbedFieldMissingValue
	ErrEmbedFooterTooLong      = component.ErrEmbedFooterTooLong
	ErrEmbedAuthorTooLong      = component.ErrEmbedAuthorTooLong
	ErrEmbedTotalLengthTooLong = component.ErrEmbedTotalLengthTooLong
	ErrTooManyActionRows       = component.ErrTooManyActionRows
	ErrRowTooManyButtons       = component.ErrRowTooManyButtons
	ErrRowMixedComponents      = component.ErrRowMixedComponents
	ErrRowMultipleSelects      = component.ErrRowMultipleSelects
	ErrRowMultipleInputs       = component.ErrRowMultipleInputs
	ErrEmptyActionRow          = component.ErrEmptyActionRow
	ErrNonActionRowAtRoot      = component.ErrNonActionRowAtRoot
	ErrSelectMissingOptions    = component.ErrSelectMissingOptions
	ErrSelectTooManyOptions    = component.ErrSelectTooManyOptions

	Guard            = middleware.Guard
	WithPanicHandler = middleware.WithPanicHandler
	WithGuardLogger  = middleware.WithGuardLogger
	WithMessage      = middleware.WithMessage
	WithEphemeral    = middleware.WithEphemeral

	Cooldown                = middleware.Cooldown
	UserCooldown            = middleware.UserCooldown
	ChannelCooldown         = middleware.ChannelCooldown
	GuildCooldown           = middleware.GuildCooldown
	GlobalCooldown          = middleware.GlobalCooldown
	NewCooldownStore        = middleware.NewCooldownStore
	WithCooldownStore       = middleware.WithCooldownStore
	WithCooldownAutoRespond = middleware.WithCooldownAutoRespond
	WithCooldownMessage     = middleware.WithCooldownMessage
	WithKeyPrefix           = middleware.WithKeyPrefix

	RequireUser               = middleware.RequireUser
	RequireBot                = middleware.RequireBot
	RequirePermissions        = middleware.RequirePermissions
	PermissionNames           = middleware.PermissionNames
	WithPermissionAutoRespond = middleware.WithPermissionAutoRespond
	WithPermissionMessage     = middleware.WithPermissionMessage

	NewPipeline = middleware.NewPipeline
	Chain       = middleware.Chain

	ErrPanicRecovered      = middleware.ErrPanicRecovered
	ErrOnCooldown          = middleware.ErrOnCooldown
	ErrInvalidCooldown     = middleware.ErrInvalidCooldown
	ErrMissingGuildInfo    = middleware.ErrMissingGuildInfo
	ErrMissingPermissions  = middleware.ErrMissingPermissions
	ErrNoMemberPermissions = middleware.ErrNoMemberPermissions
	ErrNoBotPermissions    = middleware.ErrNoBotPermissions

	NewApp        = app.New
	DefaultConfig = app.DefaultConfig

	WithMode      = app.WithMode
	WithIntents   = app.WithIntents
	WithDevMode   = app.WithDevMode
	WithAutoDefer = app.WithAutoDefer
	WithAutoSync  = app.WithAutoSync
	WithTimeout   = app.WithTimeout
	WithWebhook   = app.WithWebhook

	Register             = app.Register
	RegisteredCommands   = app.RegisteredCommands
	RegisterComponent    = app.RegisterComponent
	RegisteredComponents = app.RegisteredComponents
	RegisterModal        = app.RegisterModal
	RegisteredModals     = app.RegisteredModals

	ErrTokenRequired     = app.ErrTokenRequired
	ErrAppIDRequired     = app.ErrAppIDRequired
	ErrCommandNotFound   = app.ErrCommandNotFound
	ErrComponentNotFound = app.ErrComponentNotFound
	ErrModalNotFound     = app.ErrModalNotFound
	ErrAlreadyRunning    = app.ErrAlreadyRunning
	ErrInvalidSignature  = app.ErrInvalidSignature
	ErrPublicKeyRequired = app.ErrPublicKeyRequired
	ErrDuplicateCommand  = app.ErrDuplicateCommand
	ErrDevGuildRequired  = app.ErrDevGuildRequired
	ErrNilModule         = app.ErrNilModule

	NewLogger      = util.NewLogger
	ParseLogFormat = util.ParseLogFormat
)

Functions

This section is empty.

Types

type App

type App = app.App

type AppOption

type AppOption = app.Option

type Attachment

type Attachment = types.Attachment

type AvatarOptions

type AvatarOptions = types.AvatarOptions

type ButtonOpt

type ButtonOpt = component.ButtonOpt

type ButtonOptions

type ButtonOptions = component.ButtonOptions

type Channel

type Channel = types.Channel

type ChannelAction

type ChannelAction = context.ChannelAction

type ChannelOptions

type ChannelOptions = context.ChannelOptions

type ChannelSuite

type ChannelSuite = context.ChannelSuite

type Choice

type Choice = command.Choice

type Command

type Command = command.Command

type CommandType

type CommandType = command.CommandType

type Component

type Component = types.Component

type ComponentEmoji

type ComponentEmoji = types.ComponentEmoji

type ComponentRegistration

type ComponentRegistration = app.ComponentRegistration

type ComponentType

type ComponentType = types.ComponentType

type Config

type Config = app.Config

type Context

type Context = context.Context

type CooldownConfig

type CooldownConfig = middleware.CooldownConfig

type CooldownError

type CooldownError = middleware.CooldownError

type CooldownOption

type CooldownOption = middleware.CooldownOption

type CooldownScope

type CooldownScope = command.CooldownScope

type CooldownStore

type CooldownStore = middleware.CooldownStore

type CrashLogger

type CrashLogger = middleware.CrashLogger

type Embed

type Embed = types.Embed

type EmbedBuilder

type EmbedBuilder = component.EmbedBuilder

type File

type File = types.File

type FileLogger

type FileLogger = util.FileLogger

type GuardConfig

type GuardConfig = middleware.GuardConfig

type GuardOption

type GuardOption = middleware.GuardOption

type Guild

type Guild = types.Guild

type Handler

type Handler = middleware.Handler

type Intent

type Intent = types.Intent

type Interaction

type Interaction = types.Interaction

type InteractionCallbackType

type InteractionCallbackType = types.InteractionCallbackType

type InteractionData

type InteractionData = types.InteractionData

type InteractionResponse

type InteractionResponse = types.InteractionResponse

type InteractionResponseData

type InteractionResponseData = types.InteractionResponseData

type InteractionType

type InteractionType = types.InteractionType

type LogFormat

type LogFormat = util.LogFormat

type Logger

type Logger = util.Logger

type LoggerConfig

type LoggerConfig = util.LoggerConfig

type Member

type Member = types.Member

type MemberOptions

type MemberOptions = context.MemberOptions

type MemberSuite

type MemberSuite = context.MemberSuite

type Message

type Message = types.Message

type MessageAction

type MessageAction = context.MessageAction

type MessageOptions

type MessageOptions = context.MessageOptions

type MessageSuite

type MessageSuite = context.MessageSuite

type Middleware

type Middleware = middleware.Middleware

type ModType

type ModType = context.ModType
type Modal = context.Modal

type ModalRegistration

type ModalRegistration = app.ModalRegistration

type Mode

type Mode = app.Mode

type Module

type Module = app.Module

type Option

type Option = command.Option

type OptionType

type OptionType = command.OptionType

type OptionVal

type OptionVal = context.OptionVal

type Options

type Options = context.Options

type PanicHandler

type PanicHandler = middleware.PanicHandler

type Permission

type Permission = types.Permission

type PermissionConfig

type PermissionConfig = middleware.PermissionConfig

type PermissionError

type PermissionError = middleware.PermissionError

type PermissionOption

type PermissionOption = middleware.PermissionOption

type PermissionTarget

type PermissionTarget = middleware.PermissionTarget

type Pipeline

type Pipeline = middleware.Pipeline

type Policy

type Policy = middleware.Policy

type ReadyEvent

type ReadyEvent = types.ReadyEvent

type Response

type Response = context.Response

type Role

type Role = types.Role

type RoleAction

type RoleAction = context.RoleAction

type RoleOptions

type RoleOptions = context.RoleOptions

type RoleSuite

type RoleSuite = context.RoleSuite

type Scope

type Scope = middleware.Scope

type SelectMenuOption

type SelectMenuOption = types.SelectOption

type SelectOpt

type SelectOpt = component.SelectOpt

type Snowflake

type Snowflake = types.Snowflake

type Subcommand

type Subcommand = command.Subcommand

type SubcommandGroup

type SubcommandGroup = command.SubcommandGroup

type SyncResult

type SyncResult = app.SyncResult

type TextInputOpt

type TextInputOpt = component.TextInputOpt

type TimeItem

type TimeItem = util.Item

type User

type User = types.User

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL