Documentation
¶
Index ¶
- Variables
- func TestAutocomplete(t TestingT, b LoaderBuilder, commandRoute ...string)
- func TestCommand(t TestingT, b LoaderBuilder, commandRoute ...string)
- func TestComponent(t TestingT, b LoaderBuilder, path string)
- type ButtonFunc
- type CombinedRouter
- type Command
- type CommandBuilder
- type CommandGroup
- func (c *CommandGroup) MustNewCommandGroup(name, description string, defaultPermission bool) *CommandGroup
- func (c *CommandGroup) NewCommandBuilder(name string) SubCommandBuilder
- func (c *CommandGroup) NewCommandGroup(name, description string, defaultPermission bool) (*CommandGroup, error)
- func (c *CommandGroup) Use(f MiddlewareFunc)
- type CommandRouter
- func (c *CommandRouter) FormulateDiscordCommands() []*objects.ApplicationCommand
- func (c *CommandRouter) MarshalJSON() ([]byte, error)
- func (c *CommandRouter) MustNewCommandGroup(name, description string, defaultPermission bool) *CommandGroup
- func (c *CommandRouter) NewCommandBuilder(name string) CommandBuilder
- func (c *CommandRouter) NewCommandGroup(name, description string, defaultPermission bool) (*CommandGroup, error)
- func (c *CommandRouter) Use(f MiddlewareFunc)
- type CommandRouterCtx
- func (c *CommandRouterCtx) AddComponentRow(row []*objects.Component) *CommandRouterCtx
- func (c *CommandRouterCtx) AddEmbed(embed *objects.Embed) *CommandRouterCtx
- func (c *CommandRouterCtx) AttachBytes(data []byte, filename, description string) *CommandRouterCtx
- func (c *CommandRouterCtx) AttachFile(file *objects.DiscordFile) *CommandRouterCtx
- func (c *CommandRouterCtx) Bind(data interface{}) error
- func (c *CommandRouterCtx) ChannelMessageWithSource() *CommandRouterCtx
- func (c *CommandRouterCtx) ClearComponents() *CommandRouterCtx
- func (c *CommandRouterCtx) DeferredChannelMessageWithSource(f func(*CommandRouterCtx) error)
- func (c *CommandRouterCtx) Ephemeral() *CommandRouterCtx
- func (r *CommandRouterCtx) ResponseData() *objects.InteractionApplicationCommandCallbackData
- func (c *CommandRouterCtx) SetAllowedMentions(config *objects.AllowedMentions) *CommandRouterCtx
- func (c *CommandRouterCtx) SetComponentRows(rows [][]*objects.Component) *CommandRouterCtx
- func (c *CommandRouterCtx) SetContent(content string) *CommandRouterCtx
- func (c *CommandRouterCtx) SetContentf(content string, args ...interface{}) *CommandRouterCtx
- func (c *CommandRouterCtx) SetEmbed(embed *objects.Embed) *CommandRouterCtx
- func (c *CommandRouterCtx) SetTTS(tts bool) *CommandRouterCtx
- func (c *CommandRouterCtx) TargetMember() *objects.GuildMember
- func (c *CommandRouterCtx) TargetMessage() *objects.Message
- func (c *CommandRouterCtx) UpdateLater(f func(*CommandRouterCtx) error) *CommandRouterCtx
- func (g *CommandRouterCtx) VoidCustomID() string
- func (c *CommandRouterCtx) WithModalPath(path string) error
- type ComponentRouter
- type ComponentRouterCtx
- func (c *ComponentRouterCtx) AddComponentRow(row []*objects.Component) *ComponentRouterCtx
- func (c *ComponentRouterCtx) AddEmbed(embed *objects.Embed) *ComponentRouterCtx
- func (c *ComponentRouterCtx) AttachBytes(data []byte, filename, description string) *ComponentRouterCtx
- func (c *ComponentRouterCtx) AttachFile(file *objects.DiscordFile) *ComponentRouterCtx
- func (c *ComponentRouterCtx) ChannelMessageWithSource() *ComponentRouterCtx
- func (c *ComponentRouterCtx) ClearComponents() *ComponentRouterCtx
- func (c *ComponentRouterCtx) DeferredChannelMessageWithSource(f func(*ComponentRouterCtx) error)
- func (c *ComponentRouterCtx) DeferredMessageUpdate() *ComponentRouterCtx
- func (c *ComponentRouterCtx) Ephemeral() *ComponentRouterCtx
- func (r *ComponentRouterCtx) ResponseData() *objects.InteractionApplicationCommandCallbackData
- func (c *ComponentRouterCtx) SetAllowedMentions(config *objects.AllowedMentions) *ComponentRouterCtx
- func (c *ComponentRouterCtx) SetComponentRows(rows [][]*objects.Component) *ComponentRouterCtx
- func (c *ComponentRouterCtx) SetContent(content string) *ComponentRouterCtx
- func (c *ComponentRouterCtx) SetContentf(content string, args ...interface{}) *ComponentRouterCtx
- func (c *ComponentRouterCtx) SetEmbed(embed *objects.Embed) *ComponentRouterCtx
- func (c *ComponentRouterCtx) SetTTS(tts bool) *ComponentRouterCtx
- func (c *ComponentRouterCtx) UpdateLater(f func(*ComponentRouterCtx) error) *ComponentRouterCtx
- func (c *ComponentRouterCtx) UpdateMessage() *ComponentRouterCtx
- func (g *ComponentRouterCtx) VoidCustomID() string
- func (c *ComponentRouterCtx) WithModalPath(path string) error
- type DoubleAutoCompleteFunc
- type DoubleChoice
- type DoubleChoiceBuilder
- type ErrorHandler
- type HandlerAccepter
- type IntAutoCompleteFunc
- type IntChoice
- type IntChoiceBuilder
- type LoaderBuilder
- type MessageCommandBuilder
- type MiddlewareCtx
- type MiddlewareFunc
- type ModalContent
- type ModalContentItem
- type ModalGenerationCtx
- type ModalRouter
- type ModalRouterCtx
- func (c *ModalRouterCtx) AddComponentRow(row []*objects.Component) *ModalRouterCtx
- func (c *ModalRouterCtx) AddEmbed(embed *objects.Embed) *ModalRouterCtx
- func (c *ModalRouterCtx) AttachBytes(data []byte, filename, description string) *ModalRouterCtx
- func (c *ModalRouterCtx) AttachFile(file *objects.DiscordFile) *ModalRouterCtx
- func (c *ModalRouterCtx) ChannelMessageWithSource() *ModalRouterCtx
- func (c *ModalRouterCtx) ClearComponents() *ModalRouterCtx
- func (c *ModalRouterCtx) DeferredChannelMessageWithSource(f func(*ModalRouterCtx) error)
- func (c *ModalRouterCtx) Ephemeral() *ModalRouterCtx
- func (r *ModalRouterCtx) ResponseData() *objects.InteractionApplicationCommandCallbackData
- func (c *ModalRouterCtx) SetAllowedMentions(config *objects.AllowedMentions) *ModalRouterCtx
- func (c *ModalRouterCtx) SetComponentRows(rows [][]*objects.Component) *ModalRouterCtx
- func (c *ModalRouterCtx) SetContent(content string) *ModalRouterCtx
- func (c *ModalRouterCtx) SetContentf(content string, args ...interface{}) *ModalRouterCtx
- func (c *ModalRouterCtx) SetEmbed(embed *objects.Embed) *ModalRouterCtx
- func (c *ModalRouterCtx) SetTTS(tts bool) *ModalRouterCtx
- func (c *ModalRouterCtx) UpdateLater(f func(*ModalRouterCtx) error) *ModalRouterCtx
- func (g *ModalRouterCtx) VoidCustomID() string
- type ResolvableAttachment
- type ResolvableChannel
- type ResolvableMentionable
- type ResolvableMessage
- type ResolvableRole
- type ResolvableUser
- type ResponseDataBuilder
- type SelectMenuFunc
- type StringAutoCompleteFunc
- type StringChoice
- type StringChoiceBuilder
- type SubCommandBuilder
- type TestingT
- type TextCommandBuilder
- type UserCommandBuilder
Constants ¶
This section is empty.
Variables ¶
var CommandDoesNotExist = errors.New("the command does not exist")
CommandDoesNotExist is thrown when the command specified does not exist.
var CommandIsNotSubcommand = errors.New("expected *Command, found *CommandGroup")
CommandIsNotSubcommand is thrown when the router expects a command and gets a command group.
var CommandIsSubcommand = errors.New("expected *CommandGroup, found *Command")
CommandIsSubcommand is thrown when the router expects a command group and gets a command.
var GroupNestedTooDeep = errors.New("sub-command group would be nested too deep")
GroupNestedTooDeep is thrown when the sub-command group would be nested too deep.
var InvalidTarget = errors.New("wrong or no target specified")
InvalidTarget is thrown when the command target is not valid.
var MiddlewareChainExhausted = errors.New("the middleware chain has been exhausted")
MiddlewareChainExhausted is called when the middleware chain has been exhausted.
var MismatchedOption = errors.New("mismatched interaction option")
MismatchedOption is thrown when the option types mismatch.
var ModalPathNotFound = errors.New("modal path not found")
ModalPathNotFound is thrown when the modal path is not found.
var MultipleModalResponses = errors.New("multiple modal responses")
MultipleModalResponses is thrown when a modal response is triggered within another.
var NoAutoCompleteFunc = errors.New("discord sent auto-complete for argument without auto-complete function")
NoAutoCompleteFunc is thrown when Discord sends a focused argument without an autocomplete function.
var NoCommandResponse = errors.New("expected data for command response")
NoCommandResponse is thrown when the application doesn't respond for a command.
var NonExistentOption = errors.New("interaction option doesn't exist on command")
NonExistentOption is thrown when an option is provided in an interaction that doesn't exist in the command.
var NotButton = errors.New("the data returned is not that of a button")
NotButton is returned when Discord returns data that is not a button.
var NotSelectionMenu = errors.New("the data returned is not that of a selection menu")
NotSelectionMenu is returned when Discord returns data that is not a selection menu.
var UnknownContextType = errors.New("unknown context type")
UnknownContextType is thrown when a context type is not from Postcord.
var UnsetModalRouter = errors.New("modal router is unset")
UnsetModalRouter is thrown when the modal router is unset.
Functions ¶
func TestAutocomplete ¶ added in v0.1.0
func TestAutocomplete(t TestingT, b LoaderBuilder, commandRoute ...string)
TestAutocomplete is used to run unit tests against the specified commands auto-complete.
func TestCommand ¶ added in v0.1.0
func TestCommand(t TestingT, b LoaderBuilder, commandRoute ...string)
TestCommand is used to run unit tests against the specified command.
func TestComponent ¶ added in v0.1.0
func TestComponent(t TestingT, b LoaderBuilder, path string)
TestComponent is used to run unit tests against the specified component.
Types ¶
type ButtonFunc ¶
type ButtonFunc func(ctx *ComponentRouterCtx) error
ButtonFunc is the function dispatched when a button is used.
type CombinedRouter ¶
type CombinedRouter struct { CommandRouter ComponentRouter ModalRouter }
CombinedRouter is an extension of both CommandRouter and ComponentRouter to combine the two. I'm personally not a huge fan of using this, but it might be appealing to some people who wish to treat it as one router.
type Command ¶
type Command struct { // Name is the commands name. Name string `json:"name"` // Description is the description for the command. Description string `json:"description"` // AllowedMentions is used to set a command level rule on allowed mentions. If this is not nil, it overrides the last configuration. AllowedMentions *objects.AllowedMentions `json:"allowed_mentions"` // DefaultPermission is used to define if the permissions of the command are default. DefaultPermission bool `json:"default_permission"` // Options defines the options which are required for a command. Options []*objects.ApplicationCommandOption `json:"options"` // Function is used to define the command being called. Function func(*CommandRouterCtx) error `json:"-"` // contains filtered or unexported fields }
Command is used to define a Discord (sub-)command. DO NOT MAKE YOURSELF! USE CommandGroup.NewCommandBuilder OR CommandRouter.NewCommandBuilder!
func (*Command) Groups ¶
func (c *Command) Groups() []*CommandGroup
Groups is used to get the command groups that this belongs to.
type CommandBuilder ¶
type CommandBuilder interface { // Description is used to define the commands description. Description(string) CommandBuilder // TextCommand is used to define that this should be a text command builder. TextCommand() TextCommandBuilder // MessageCommand is used to define that this should be a message command builder. MessageCommand() MessageCommandBuilder // UserCommand is used to define that this should be a message command builder. UserCommand() UserCommandBuilder // DefaultPermission is used to define if the command should have default permissions. Note this does nothing if the command is in a group. DefaultPermission() CommandBuilder // AllowedMentions is used to set a command level rule on allowed mentions. If this is not nil, it overrides the last configuration. AllowedMentions(*objects.AllowedMentions) CommandBuilder // Handler is used to add a command handler. Handler(func(*CommandRouterCtx) error) CommandBuilder // Build is used to build the command and insert it into the command router. Build() (*Command, error) // MustBuild is used to define when a command must build or panic. MustBuild() *Command // contains filtered or unexported methods }
CommandBuilder is used to define a builder for a Command object where the type isn't known.
type CommandGroup ¶
type CommandGroup struct { // Middleware defines all of the groups middleware. Middleware []MiddlewareFunc `json:"middleware"` // DefaultPermission defines if this is the default permission. DefaultPermission bool `json:"default_permission"` // Description is the description for the command group. Description string `json:"description"` // AllowedMentions is used to set a group level rule on allowed mentions. If this is not nil, it overrides the last configuration. AllowedMentions *objects.AllowedMentions `json:"allowed_mentions"` // Subcommands is a map of all of the subcommands. It is a interface{} since it can be *Command or *CommandGroup. DO NOT ADD TO THIS! USE THE ATTACHED FUNCTIONS! Subcommands map[string]interface{} `json:"subcommands"` // contains filtered or unexported fields }
CommandGroup is a group of commands. DO NOT MAKE YOURSELF! USE CommandGroup.NewCommandGroup OR CommandRouter.NewCommandGroup!
func (*CommandGroup) MustNewCommandGroup ¶
func (c *CommandGroup) MustNewCommandGroup(name, description string, defaultPermission bool) *CommandGroup
MustNewCommandGroup calls NewCommandGroup but must succeed. If not, it will panic.
func (*CommandGroup) NewCommandBuilder ¶
func (c *CommandGroup) NewCommandBuilder(name string) SubCommandBuilder
NewCommandBuilder is used to create a builder for a *Command object.
func (*CommandGroup) NewCommandGroup ¶
func (c *CommandGroup) NewCommandGroup(name, description string, defaultPermission bool) (*CommandGroup, error)
NewCommandGroup is used to create a sub-command group.
func (*CommandGroup) Use ¶
func (c *CommandGroup) Use(f MiddlewareFunc)
Use is used to add middleware to the group.
type CommandRouter ¶
type CommandRouter struct {
// contains filtered or unexported fields
}
CommandRouter is used to route commands.
func (*CommandRouter) FormulateDiscordCommands ¶
func (c *CommandRouter) FormulateDiscordCommands() []*objects.ApplicationCommand
FormulateDiscordCommands is used to formulate the commands in such a way that they can be uploaded to Discord.
func (*CommandRouter) MarshalJSON ¶
func (c *CommandRouter) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (*CommandRouter) MustNewCommandGroup ¶
func (c *CommandRouter) MustNewCommandGroup(name, description string, defaultPermission bool) *CommandGroup
MustNewCommandGroup calls NewCommandGroup but must succeed. If not, it will panic.
func (*CommandRouter) NewCommandBuilder ¶
func (c *CommandRouter) NewCommandBuilder(name string) CommandBuilder
NewCommandBuilder is used to create a builder for a *Command object.
func (*CommandRouter) NewCommandGroup ¶
func (c *CommandRouter) NewCommandGroup(name, description string, defaultPermission bool) (*CommandGroup, error)
NewCommandGroup is used to create a sub-command group. Works the same as CommandGroup.NewCommandGroup.
func (*CommandRouter) Use ¶
func (c *CommandRouter) Use(f MiddlewareFunc)
Use is used to add middleware to the router.
type CommandRouterCtx ¶
type CommandRouterCtx struct { // Defines the interaction which started this. *objects.Interaction // Context is a context.Context passed from the HTTP handler. Context context.Context // Command defines the command that was invoked. Command *Command `json:"command"` // Options is used to define any options that were set in the context. Note that if an option is unset from Discord, it will not be in the map. // Note that for User, Channel, Role, and Mentionable from Discord; a "*Resolvable<option type>" type is used. This will allow you to get the ID as a Snowflake, string, or attempt to get from resolved. Options map[string]interface{} `json:"options"` // RESTClient is used to define the REST client. RESTClient rest.RESTClient `json:"rest_client"` // contains filtered or unexported fields }
CommandRouterCtx is used to define the commands context from the router.
func (*CommandRouterCtx) AddComponentRow ¶
func (c *CommandRouterCtx) AddComponentRow(row []*objects.Component) *CommandRouterCtx
AddComponentRow is used to add a row of components.
func (*CommandRouterCtx) AddEmbed ¶
func (c *CommandRouterCtx) AddEmbed(embed *objects.Embed) *CommandRouterCtx
AddEmbed is used to append the embed, joining any previously.
func (*CommandRouterCtx) AttachBytes ¶ added in v0.1.3
func (c *CommandRouterCtx) AttachBytes(data []byte, filename, description string) *CommandRouterCtx
AttachBytes adds a file attachment to the response from a byte array
func (*CommandRouterCtx) AttachFile ¶ added in v0.1.3
func (c *CommandRouterCtx) AttachFile(file *objects.DiscordFile) *CommandRouterCtx
AttachFile adds a file attachment to the response from an *objects.DiscordFile
func (*CommandRouterCtx) Bind ¶
func (c *CommandRouterCtx) Bind(data interface{}) error
Bind allows you to bind the option values to a struct for easy access
func (*CommandRouterCtx) ChannelMessageWithSource ¶
func (c *CommandRouterCtx) ChannelMessageWithSource() *CommandRouterCtx
ChannelMessageWithSource is used to respond to the interaction with a message.
func (*CommandRouterCtx) ClearComponents ¶
func (c *CommandRouterCtx) ClearComponents() *CommandRouterCtx
ClearComponents is used to clear the components in a response.
func (*CommandRouterCtx) DeferredChannelMessageWithSource ¶
func (c *CommandRouterCtx) DeferredChannelMessageWithSource(f func(*CommandRouterCtx) error)
DeferredChannelMessageWithSource is used to handle updating the response later. The user sees a loading state. Note that the chain does not continue after this since it is impossible to attach additional data.
func (*CommandRouterCtx) Ephemeral ¶
func (c *CommandRouterCtx) Ephemeral() *CommandRouterCtx
Ephemeral is used to set the response as ephemeral.
func (*CommandRouterCtx) ResponseData ¶
func (r *CommandRouterCtx) ResponseData() *objects.InteractionApplicationCommandCallbackData
ResponseData is used to return a pointer to the response data. The data will be created if it doesn't exist, so it'll never be nil. NOTE: If the type is being inferred, this will mark this as a message update. Use the helper function for the type you want to prevent this.
func (*CommandRouterCtx) SetAllowedMentions ¶
func (c *CommandRouterCtx) SetAllowedMentions(config *objects.AllowedMentions) *CommandRouterCtx
SetAllowedMentions is used to set the allowed mentions of a response. This will override your global configuration.
func (*CommandRouterCtx) SetComponentRows ¶
func (c *CommandRouterCtx) SetComponentRows(rows [][]*objects.Component) *CommandRouterCtx
SetComponentRows is used to set rows of components.
func (*CommandRouterCtx) SetContent ¶
func (c *CommandRouterCtx) SetContent(content string) *CommandRouterCtx
SetContent is used to set the content of a response.
func (*CommandRouterCtx) SetContentf ¶ added in v0.1.0
func (c *CommandRouterCtx) SetContentf(content string, args ...interface{}) *CommandRouterCtx
SetContentf is used to set the content of a response using fmt.Sprintf.
func (*CommandRouterCtx) SetEmbed ¶
func (c *CommandRouterCtx) SetEmbed(embed *objects.Embed) *CommandRouterCtx
SetEmbed is used to set the embed, overwriting any previously.
func (*CommandRouterCtx) SetTTS ¶
func (c *CommandRouterCtx) SetTTS(tts bool) *CommandRouterCtx
SetTTS is used to set the TTS configuration for your response.
func (*CommandRouterCtx) TargetMember ¶
func (c *CommandRouterCtx) TargetMember() *objects.GuildMember
TargetMember is used to try and get the target member. If this was not targeted at a member, returns nil.
func (*CommandRouterCtx) TargetMessage ¶
func (c *CommandRouterCtx) TargetMessage() *objects.Message
TargetMessage is used to try and get the target message. If this was not targeted at a message, returns nil.
func (*CommandRouterCtx) UpdateLater ¶
func (c *CommandRouterCtx) UpdateLater(f func(*CommandRouterCtx) error) *CommandRouterCtx
UpdateLater is used to spawn the function specified in a goroutine. When the function is returned, the result is set as a message update.
func (*CommandRouterCtx) VoidCustomID ¶
func (g *CommandRouterCtx) VoidCustomID() string
VoidCustomID is used to return a unique custom ID for this context that resolves to a void.
func (*CommandRouterCtx) WithModalPath ¶ added in v0.1.4
func (c *CommandRouterCtx) WithModalPath(path string) error
WithModalPath is used to set the response to the modal path specified.
type ComponentRouter ¶
type ComponentRouter struct {
// contains filtered or unexported fields
}
ComponentRouter is used to route components.
func (*ComponentRouter) RegisterButton ¶
func (c *ComponentRouter) RegisterButton(route string, cb ButtonFunc)
RegisterButton is used to register a button route.
func (*ComponentRouter) RegisterSelectMenu ¶
func (c *ComponentRouter) RegisterSelectMenu(route string, cb SelectMenuFunc)
RegisterSelectMenu is used to register a select menu route.
type ComponentRouterCtx ¶
type ComponentRouterCtx struct { // Context is a context.Context passed from the HTTP handler. Context context.Context // Defines the interaction which started this. *objects.Interaction // Params are any URL params which were in the path. Params map[string]string `json:"params"` // RESTClient is used to define the REST client. RESTClient rest.RESTClient `json:"rest_client"` // contains filtered or unexported fields }
ComponentRouterCtx is used to define a components router context.
func (*ComponentRouterCtx) AddComponentRow ¶
func (c *ComponentRouterCtx) AddComponentRow(row []*objects.Component) *ComponentRouterCtx
AddComponentRow is used to add a row of components.
func (*ComponentRouterCtx) AddEmbed ¶
func (c *ComponentRouterCtx) AddEmbed(embed *objects.Embed) *ComponentRouterCtx
AddEmbed is used to append the embed, joining any previously.
func (*ComponentRouterCtx) AttachBytes ¶ added in v0.1.3
func (c *ComponentRouterCtx) AttachBytes(data []byte, filename, description string) *ComponentRouterCtx
AttachBytes adds a file attachment to the response from a byte array
func (*ComponentRouterCtx) AttachFile ¶ added in v0.1.3
func (c *ComponentRouterCtx) AttachFile(file *objects.DiscordFile) *ComponentRouterCtx
AttachFile adds a file attachment to the response from an *objects.DiscordFile
func (*ComponentRouterCtx) ChannelMessageWithSource ¶
func (c *ComponentRouterCtx) ChannelMessageWithSource() *ComponentRouterCtx
ChannelMessageWithSource is used to respond to the interaction with a message.
func (*ComponentRouterCtx) ClearComponents ¶
func (c *ComponentRouterCtx) ClearComponents() *ComponentRouterCtx
ClearComponents is used to clear the components in a response.
func (*ComponentRouterCtx) DeferredChannelMessageWithSource ¶
func (c *ComponentRouterCtx) DeferredChannelMessageWithSource(f func(*ComponentRouterCtx) error)
DeferredChannelMessageWithSource is used to handle updating the response later. The user sees a loading state. Note that the chain does not continue after this since it is impossible to attach additional data.
func (*ComponentRouterCtx) DeferredMessageUpdate ¶
func (c *ComponentRouterCtx) DeferredMessageUpdate() *ComponentRouterCtx
DeferredMessageUpdate sets the response type to DeferredMessageUpdate For components, ACK an interaction and edit the original message later; the user does not see a loading state
func (*ComponentRouterCtx) Ephemeral ¶
func (c *ComponentRouterCtx) Ephemeral() *ComponentRouterCtx
Ephemeral is used to set the response as ephemeral.
func (*ComponentRouterCtx) ResponseData ¶
func (r *ComponentRouterCtx) ResponseData() *objects.InteractionApplicationCommandCallbackData
ResponseData is used to return a pointer to the response data. The data will be created if it doesn't exist, so it'll never be nil. NOTE: If the type is being inferred, this will mark this as a message update. Use the helper function for the type you want to prevent this.
func (*ComponentRouterCtx) SetAllowedMentions ¶
func (c *ComponentRouterCtx) SetAllowedMentions(config *objects.AllowedMentions) *ComponentRouterCtx
SetAllowedMentions is used to set the allowed mentions of a response. This will override your global configuration.
func (*ComponentRouterCtx) SetComponentRows ¶
func (c *ComponentRouterCtx) SetComponentRows(rows [][]*objects.Component) *ComponentRouterCtx
SetComponentRows is used to set rows of components.
func (*ComponentRouterCtx) SetContent ¶
func (c *ComponentRouterCtx) SetContent(content string) *ComponentRouterCtx
SetContent is used to set the content of a response.
func (*ComponentRouterCtx) SetContentf ¶ added in v0.1.0
func (c *ComponentRouterCtx) SetContentf(content string, args ...interface{}) *ComponentRouterCtx
SetContentf is used to set the content of a response using fmt.Sprintf.
func (*ComponentRouterCtx) SetEmbed ¶
func (c *ComponentRouterCtx) SetEmbed(embed *objects.Embed) *ComponentRouterCtx
SetEmbed is used to set the embed, overwriting any previously.
func (*ComponentRouterCtx) SetTTS ¶
func (c *ComponentRouterCtx) SetTTS(tts bool) *ComponentRouterCtx
SetTTS is used to set the TTS configuration for your response.
func (*ComponentRouterCtx) UpdateLater ¶
func (c *ComponentRouterCtx) UpdateLater(f func(*ComponentRouterCtx) error) *ComponentRouterCtx
UpdateLater is used to spawn the function specified in a goroutine. When the function is returned, the result is set as a message update.
func (*ComponentRouterCtx) UpdateMessage ¶
func (c *ComponentRouterCtx) UpdateMessage() *ComponentRouterCtx
UpdateMessage sets the response type to UpdateMessage For components, edit the message the component was attached to
func (*ComponentRouterCtx) VoidCustomID ¶
func (g *ComponentRouterCtx) VoidCustomID() string
VoidCustomID is used to return a unique custom ID for this context that resolves to a void.
func (*ComponentRouterCtx) WithModalPath ¶ added in v0.1.4
func (c *ComponentRouterCtx) WithModalPath(path string) error
WithModalPath is used to set the response to the modal path specified.
type DoubleAutoCompleteFunc ¶ added in v0.0.2
type DoubleAutoCompleteFunc = func(*CommandRouterCtx) ([]DoubleChoice, error)
DoubleAutoCompleteFunc is used to define the auto-complete function for DoubleChoice. Note that the command context is a special case in that the response is not used.
type DoubleChoice ¶
type DoubleChoice struct { // Name is the name of the choice. Name string `json:"name"` // Value is the double that is the resulting value. Value float64 `json:"value"` }
DoubleChoice is used to define a choice of the double type.
type DoubleChoiceBuilder ¶ added in v0.0.2
type DoubleChoiceBuilder = func(addStaticOptions func([]DoubleChoice), addAutocomplete func(DoubleAutoCompleteFunc))
DoubleChoiceBuilder is used to choose how this choice is handled. This can be nil, or it can pass to one of the functions. The first function adds static choices to the router. The second option adds an autocomplete function. Note that you cannot call both functions.
func DoubleAutoCompleteFuncBuilder ¶ added in v0.0.2
func DoubleAutoCompleteFuncBuilder(f DoubleAutoCompleteFunc) DoubleChoiceBuilder
DoubleAutoCompleteFuncBuilder is used to create a shorthand for adding a auto-complete function.
func DoubleStaticChoicesBuilder ¶ added in v0.0.2
func DoubleStaticChoicesBuilder(choices []DoubleChoice) DoubleChoiceBuilder
DoubleStaticChoicesBuilder is used to create a shorthand for adding choices.
type ErrorHandler ¶ added in v0.1.0
type ErrorHandler = func(error) *objects.InteractionResponse
ErrorHandler defines the error handler function used within Postcord.
type HandlerAccepter ¶
type HandlerAccepter interface { ComponentHandler(handler interactions.HandlerFunc) CommandHandler(handler interactions.HandlerFunc) AutocompleteHandler(handler interactions.HandlerFunc) ModalHandler(handler interactions.HandlerFunc) Rest() *rest.Client }
HandlerAccepter is an interface for an object which accepts Postcord handler functions. In most cases, you probably want to pass through *interactions.App here.
type IntAutoCompleteFunc ¶ added in v0.0.2
type IntAutoCompleteFunc = func(*CommandRouterCtx) ([]IntChoice, error)
IntAutoCompleteFunc is used to define the auto-complete function for IntChoice. Note that the command context is a special case in that the response is not used.
type IntChoice ¶
type IntChoice struct { // Name is the name of the choice. Name string `json:"name"` // Value is the int that is the resulting value. Value int `json:"value"` }
IntChoice is used to define a choice of the int type.
type IntChoiceBuilder ¶ added in v0.0.2
type IntChoiceBuilder = func(addStaticOptions func([]IntChoice), addAutocomplete func(IntAutoCompleteFunc))
IntChoiceBuilder is used to choose how this choice is handled. This can be nil, or it can pass to one of the functions. The first function adds static choices to the router. The second option adds an autocomplete function. Note that you cannot call both functions.
func IntAutoCompleteFuncBuilder ¶ added in v0.0.2
func IntAutoCompleteFuncBuilder(f IntAutoCompleteFunc) IntChoiceBuilder
IntAutoCompleteFuncBuilder is used to create a shorthand for adding a auto-complete function.
func IntStaticChoicesBuilder ¶ added in v0.0.2
func IntStaticChoicesBuilder(choices []IntChoice) IntChoiceBuilder
IntStaticChoicesBuilder is used to create a shorthand for adding choices.
type LoaderBuilder ¶
type LoaderBuilder interface { // ComponentRouter is used to add a component router to the load process. ComponentRouter(*ComponentRouter) LoaderBuilder // CommandRouter is used to add a command router to the load process. CommandRouter(*CommandRouter) LoaderBuilder // ModalRouter is used to add a modal router to the load process. ModalRouter(*ModalRouter) LoaderBuilder // CombinedRouter is used to add a combined router to the load process. CombinedRouter(*CombinedRouter) LoaderBuilder // ErrorHandler is used to add an error handler to the load process. ErrorHandler(ErrorHandler) LoaderBuilder // AllowedMentions allows you to set a global allowed mentions configuration. AllowedMentions(*objects.AllowedMentions) LoaderBuilder // Build is used to execute the build. Build(app HandlerAccepter) LoaderBuilder // CurrentChain is used to get the current chain of items. Note that for obvious reasons, this is not chainable. // Used internally by Postcord for our testing mechanism. CurrentChain() (componentRouter *ComponentRouter, commandRouter *CommandRouter, modalRouter *ModalRouter, errHandler ErrorHandler, restClient rest.RESTClient, allowedMentions *objects.AllowedMentions) }
LoaderBuilder is the interface for a router loader builder.
func RouterLoader ¶
func RouterLoader() LoaderBuilder
RouterLoader is used to create a new router loader builder.
type MessageCommandBuilder ¶
type MessageCommandBuilder interface { // DefaultPermission is used to define if the command should have default permissions. Note this does nothing if the command is in a group. DefaultPermission() MessageCommandBuilder // AllowedMentions is used to set a command level rule on allowed mentions. If this is not nil, it overrides the last configuration. AllowedMentions(*objects.AllowedMentions) MessageCommandBuilder // Handler is used to add a command handler. Handler(func(*CommandRouterCtx, *objects.Message) error) MessageCommandBuilder // Build is used to build the command and insert it into the command router. Build() (*Command, error) // MustBuild is used to define when a command must build or panic. MustBuild() *Command }
MessageCommandBuilder is used to define a builder for a Message object where the type is a user command.
type MiddlewareCtx ¶
type MiddlewareCtx struct { // Defines the command context. *CommandRouterCtx // contains filtered or unexported fields }
MiddlewareCtx is used to define the additional context that is shared between middleware.
func (MiddlewareCtx) Next ¶
func (m MiddlewareCtx) Next() error
Next is used to call the next function in the middleware chain.
func (MiddlewareCtx) ResponseData ¶
func (r MiddlewareCtx) ResponseData() *objects.InteractionApplicationCommandCallbackData
ResponseData is used to return a pointer to the response data. The data will be created if it doesn't exist, so it'll never be nil. NOTE: If the type is being inferred, this will mark this as a message update. Use the helper function for the type you want to prevent this.
func (MiddlewareCtx) VoidCustomID ¶
func (g MiddlewareCtx) VoidCustomID() string
VoidCustomID is used to return a unique custom ID for this context that resolves to a void.
type MiddlewareFunc ¶
type MiddlewareFunc func(ctx MiddlewareCtx) error
MiddlewareFunc is used to define a middleware function.
type ModalContent ¶ added in v0.1.4
type ModalContent struct { // Path is used to define the path to the modal. Path string `json:"path"` // Contents is used to define the contents of the modal. Contents func(*ModalGenerationCtx) (name string, contents []ModalContentItem) `json:"-"` // Function is the function that will be called when the modal is executed. Function func(*ModalRouterCtx) error `json:"-"` }
ModalContent defines the content of the modal.
type ModalContentItem ¶ added in v0.1.4
type ModalContentItem struct { // Short defines if the content of the modal is short text. Short bool `json:"short"` // Label is used to define the label of the item. Label string `json:"label"` // Key is used to define the key in the map. Key string `json:"key"` // Placeholder is used to define the placeholder for the input. // If this is blank, there will be no placeholder. Placeholder string `json:"placeholder"` // Value defines what the field should be pre-filled with. Value string `json:"value"` // Required defines if the content is required. Required bool `json:"required"` // MinLength defines the minimum length of the content. MinLength uint `json:"min_length"` // MaxLength defines the maximum length of the content. MaxLength uint `json:"max_length"` }
ModalContentItem is used to define a item in a modal.
type ModalGenerationCtx ¶ added in v0.1.4
type ModalGenerationCtx struct { // Defines the interaction which started this. *objects.Interaction // Path is used to define the path of the modal. Path string `json:"path"` }
ModalGenerationCtx is used to generate a modal.
type ModalRouter ¶ added in v0.1.4
type ModalRouter struct {
// contains filtered or unexported fields
}
ModalRouter is used to route modals.
func (*ModalRouter) AddModal ¶ added in v0.1.4
func (f *ModalRouter) AddModal(modal *ModalContent)
AddModal is used to add a modal to the router.
func (*ModalRouter) SendModalResponse ¶ added in v0.1.4
func (f *ModalRouter) SendModalResponse(ctx ResponseDataBuilder, path string) error
SendModalResponse is used to send the modal response with the given context. The passed through context is expected to be one of a valid Postcord type. The router will need to be built before you can use this function.
type ModalRouterCtx ¶ added in v0.1.4
type ModalRouterCtx struct { // Context is a context.Context passed from the HTTP handler. Context context.Context // Defines the interaction which started this. *objects.Interaction // Params is used to define any URL parameters. Params map[string]string `json:"params"` // ModalItems is used to define the modal items. ModalItems map[string]string `json:"modal_items"` // RESTClient is used to define the REST client. RESTClient rest.RESTClient `json:"rest_client"` // contains filtered or unexported fields }
ModalRouterCtx is used to define the context for the modal event.
func (*ModalRouterCtx) AddComponentRow ¶ added in v0.1.4
func (c *ModalRouterCtx) AddComponentRow(row []*objects.Component) *ModalRouterCtx
AddComponentRow is used to add a row of components.
func (*ModalRouterCtx) AddEmbed ¶ added in v0.1.4
func (c *ModalRouterCtx) AddEmbed(embed *objects.Embed) *ModalRouterCtx
AddEmbed is used to append the embed, joining any previously.
func (*ModalRouterCtx) AttachBytes ¶ added in v0.1.4
func (c *ModalRouterCtx) AttachBytes(data []byte, filename, description string) *ModalRouterCtx
AttachBytes adds a file attachment to the response from a byte array
func (*ModalRouterCtx) AttachFile ¶ added in v0.1.4
func (c *ModalRouterCtx) AttachFile(file *objects.DiscordFile) *ModalRouterCtx
AttachFile adds a file attachment to the response from an *objects.DiscordFile
func (*ModalRouterCtx) ChannelMessageWithSource ¶ added in v0.1.4
func (c *ModalRouterCtx) ChannelMessageWithSource() *ModalRouterCtx
ChannelMessageWithSource is used to respond to the interaction with a message.
func (*ModalRouterCtx) ClearComponents ¶ added in v0.1.4
func (c *ModalRouterCtx) ClearComponents() *ModalRouterCtx
ClearComponents is used to clear the components in a response.
func (*ModalRouterCtx) DeferredChannelMessageWithSource ¶ added in v0.1.4
func (c *ModalRouterCtx) DeferredChannelMessageWithSource(f func(*ModalRouterCtx) error)
DeferredChannelMessageWithSource is used to handle updating the response later. The user sees a loading state. Note that the chain does not continue after this since it is impossible to attach additional data.
func (*ModalRouterCtx) Ephemeral ¶ added in v0.1.4
func (c *ModalRouterCtx) Ephemeral() *ModalRouterCtx
Ephemeral is used to set the response as ephemeral.
func (*ModalRouterCtx) ResponseData ¶ added in v0.1.4
func (r *ModalRouterCtx) ResponseData() *objects.InteractionApplicationCommandCallbackData
ResponseData is used to return a pointer to the response data. The data will be created if it doesn't exist, so it'll never be nil. NOTE: If the type is being inferred, this will mark this as a message update. Use the helper function for the type you want to prevent this.
func (*ModalRouterCtx) SetAllowedMentions ¶ added in v0.1.4
func (c *ModalRouterCtx) SetAllowedMentions(config *objects.AllowedMentions) *ModalRouterCtx
SetAllowedMentions is used to set the allowed mentions of a response. This will override your global configuration.
func (*ModalRouterCtx) SetComponentRows ¶ added in v0.1.4
func (c *ModalRouterCtx) SetComponentRows(rows [][]*objects.Component) *ModalRouterCtx
SetComponentRows is used to set rows of components.
func (*ModalRouterCtx) SetContent ¶ added in v0.1.4
func (c *ModalRouterCtx) SetContent(content string) *ModalRouterCtx
SetContent is used to set the content of a response.
func (*ModalRouterCtx) SetContentf ¶ added in v0.1.4
func (c *ModalRouterCtx) SetContentf(content string, args ...interface{}) *ModalRouterCtx
SetContentf is used to set the content of a response using fmt.Sprintf.
func (*ModalRouterCtx) SetEmbed ¶ added in v0.1.4
func (c *ModalRouterCtx) SetEmbed(embed *objects.Embed) *ModalRouterCtx
SetEmbed is used to set the embed, overwriting any previously.
func (*ModalRouterCtx) SetTTS ¶ added in v0.1.4
func (c *ModalRouterCtx) SetTTS(tts bool) *ModalRouterCtx
SetTTS is used to set the TTS configuration for your response.
func (*ModalRouterCtx) UpdateLater ¶ added in v0.1.4
func (c *ModalRouterCtx) UpdateLater(f func(*ModalRouterCtx) error) *ModalRouterCtx
UpdateLater is used to spawn the function specified in a goroutine. When the function is returned, the result is set as a message update.
func (*ModalRouterCtx) VoidCustomID ¶ added in v0.1.4
func (g *ModalRouterCtx) VoidCustomID() string
VoidCustomID is used to return a unique custom ID for this context that resolves to a void.
type ResolvableAttachment ¶ added in v0.1.4
type ResolvableAttachment struct {
// contains filtered or unexported fields
}
ResolvableAttachment is used to define a Attachment in a command option that is potentially resolvable.
func (ResolvableAttachment) MarshalJSON ¶ added in v0.1.4
func (r ResolvableAttachment) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (ResolvableAttachment) Resolve ¶ added in v0.1.4
func (r ResolvableAttachment) Resolve() *objects.Attachment
Resolve is used to attempt to resolve the item to its type. Returns nil if it doesn't exist.
func (ResolvableAttachment) Snowflake ¶ added in v0.1.4
func (r ResolvableAttachment) Snowflake() objects.Snowflake
Snowflake is used to return the ID as a snowflake.
func (ResolvableAttachment) String ¶ added in v0.1.4
func (r ResolvableAttachment) String() string
String is used to return the ID as a string.
type ResolvableChannel ¶
type ResolvableChannel struct {
// contains filtered or unexported fields
}
ResolvableChannel is used to define a Channel in a command option that is potentially resolvable.
func (ResolvableChannel) MarshalJSON ¶
func (r ResolvableChannel) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (ResolvableChannel) Resolve ¶
func (r ResolvableChannel) Resolve() *objects.Channel
Resolve is used to attempt to resolve the item to its type. Returns nil if it doesn't exist.
func (ResolvableChannel) Snowflake ¶
func (r ResolvableChannel) Snowflake() objects.Snowflake
Snowflake is used to return the ID as a snowflake.
func (ResolvableChannel) String ¶
func (r ResolvableChannel) String() string
String is used to return the ID as a string.
type ResolvableMentionable ¶
type ResolvableMentionable struct {
// contains filtered or unexported fields
}
ResolvableMentionable is used to define a Mentionable in a command option that is potentially resolvable.
func (ResolvableMentionable) MarshalJSON ¶
func (r ResolvableMentionable) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (ResolvableMentionable) Resolve ¶
func (r ResolvableMentionable) Resolve() interface{}
Resolve is used to try and resolve the ID into an interface{}. Nil is returned if it wasn't resolved, or a *objects.<type> if it was.
func (ResolvableMentionable) Snowflake ¶
func (r ResolvableMentionable) Snowflake() objects.Snowflake
Snowflake is used to return the ID as a snowflake.
func (ResolvableMentionable) String ¶
func (r ResolvableMentionable) String() string
String is used to return the ID as a string.
type ResolvableMessage ¶
type ResolvableMessage struct {
// contains filtered or unexported fields
}
ResolvableMessage is used to define a Message in a command option that is potentially resolvable.
func (ResolvableMessage) MarshalJSON ¶
func (r ResolvableMessage) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (ResolvableMessage) Resolve ¶
func (r ResolvableMessage) Resolve() *objects.Message
Resolve is used to attempt to resolve the item to its type. Returns nil if it doesn't exist.
func (ResolvableMessage) Snowflake ¶
func (r ResolvableMessage) Snowflake() objects.Snowflake
Snowflake is used to return the ID as a snowflake.
func (ResolvableMessage) String ¶
func (r ResolvableMessage) String() string
String is used to return the ID as a string.
type ResolvableRole ¶
type ResolvableRole struct {
// contains filtered or unexported fields
}
ResolvableRole is used to define a Role in a command option that is potentially resolvable.
func (ResolvableRole) MarshalJSON ¶
func (r ResolvableRole) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (ResolvableRole) Resolve ¶
func (r ResolvableRole) Resolve() *objects.Role
Resolve is used to attempt to resolve the item to its type. Returns nil if it doesn't exist.
func (ResolvableRole) Snowflake ¶
func (r ResolvableRole) Snowflake() objects.Snowflake
Snowflake is used to return the ID as a snowflake.
func (ResolvableRole) String ¶
func (r ResolvableRole) String() string
String is used to return the ID as a string.
type ResolvableUser ¶
type ResolvableUser struct {
// contains filtered or unexported fields
}
ResolvableUser is used to define a User in a command option that is potentially resolvable.
func (ResolvableUser) MarshalJSON ¶
func (r ResolvableUser) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (ResolvableUser) Resolve ¶
func (r ResolvableUser) Resolve() *objects.User
Resolve is used to attempt to resolve the item to its type. Returns nil if it doesn't exist.
func (ResolvableUser) ResolveMember ¶
func (r ResolvableUser) ResolveMember() *objects.GuildMember
ResolveMember is used to attempt to resolve the item to a member. Returns nil if not a member.
func (ResolvableUser) Snowflake ¶
func (r ResolvableUser) Snowflake() objects.Snowflake
Snowflake is used to return the ID as a snowflake.
func (ResolvableUser) String ¶
func (r ResolvableUser) String() string
String is used to return the ID as a string.
type ResponseDataBuilder ¶ added in v0.1.4
type ResponseDataBuilder interface {
ResponseData() *objects.InteractionApplicationCommandCallbackData
}
ResponseDataBuilder is used to
type SelectMenuFunc ¶
type SelectMenuFunc func(ctx *ComponentRouterCtx, values []string) error
SelectMenuFunc is the function dispatched when a select menu is used.
type StringAutoCompleteFunc ¶ added in v0.0.2
type StringAutoCompleteFunc = func(*CommandRouterCtx) ([]StringChoice, error)
StringAutoCompleteFunc is used to define the auto-complete function for StringChoice. Note that the command context is a special case in that the response is not used.
type StringChoice ¶
type StringChoice struct { // Name is the name of the choice. Name string `json:"name"` // Value is the string that is the resulting value. Value string `json:"value"` }
StringChoice is used to define a choice of the string type.
type StringChoiceBuilder ¶ added in v0.0.2
type StringChoiceBuilder = func(addStaticOptions func([]StringChoice), addAutocomplete func(StringAutoCompleteFunc))
StringChoiceBuilder is used to choose how this choice is handled. This can be nil, or it can pass to one of the functions. The first function adds static choices to the router. The second option adds an autocomplete function. Note that you cannot call both functions.
func StringAutoCompleteFuncBuilder ¶ added in v0.0.2
func StringAutoCompleteFuncBuilder(f StringAutoCompleteFunc) StringChoiceBuilder
StringAutoCompleteFuncBuilder is used to create a shorthand for adding a auto-complete function.
func StringStaticChoicesBuilder ¶ added in v0.0.2
func StringStaticChoicesBuilder(choices []StringChoice) StringChoiceBuilder
StringStaticChoicesBuilder is used to create a shorthand for adding choices.
type SubCommandBuilder ¶
type SubCommandBuilder interface { // Description is used to define the commands description. Description(string) SubCommandBuilder // AllowedMentions is used to set a command level rule on allowed mentions. If this is not nil, it overrides the last configuration. AllowedMentions(*objects.AllowedMentions) SubCommandBuilder // Handler is used to add a command handler. Handler(func(*CommandRouterCtx) error) SubCommandBuilder // Build is used to build the command and insert it into the command router. Build() (*Command, error) // MustBuild is used to define when a command must build or panic. MustBuild() *Command // contains filtered or unexported methods }
SubCommandBuilder is similar to TextCommandBuilder but doesn't allow default permissions to be set.
type TestingT ¶ added in v0.1.0
type TestingT interface { require.TestingT Fatal(args ...interface{}) Fatalf(format string, args ...interface{}) Log(args ...interface{}) Helper() }
TestingT is our internal requirements from *testing.T. The weird edgecase is Run since the return type can be different.
type TextCommandBuilder ¶
type TextCommandBuilder interface { // Description is used to define the commands description. Description(string) TextCommandBuilder // DefaultPermission is used to define if the command should have default permissions. Note this does nothing if the command is in a group. DefaultPermission() TextCommandBuilder // AllowedMentions is used to set a command level rule on allowed mentions. If this is not nil, it overrides the last configuration. AllowedMentions(*objects.AllowedMentions) TextCommandBuilder // Handler is used to add a command handler. Handler(func(*CommandRouterCtx) error) TextCommandBuilder // Build is used to build the command and insert it into the command router. Build() (*Command, error) // MustBuild is used to define when a command must build or panic. MustBuild() *Command // contains filtered or unexported methods }
TextCommandBuilder is used to define a builder for a Command object where the type is a text command.
type UserCommandBuilder ¶
type UserCommandBuilder interface { // DefaultPermission is used to define if the command should have default permissions. Note this does nothing if the command is in a group. DefaultPermission() UserCommandBuilder // AllowedMentions is used to set a command level rule on allowed mentions. If this is not nil, it overrides the last configuration. AllowedMentions(*objects.AllowedMentions) UserCommandBuilder // Handler is used to add a command handler. Handler(func(*CommandRouterCtx, *objects.GuildMember) error) UserCommandBuilder // Build is used to build the command and insert it into the command router. Build() (*Command, error) // MustBuild is used to define when a command must build or panic. MustBuild() *Command }
UserCommandBuilder is used to define a builder for a Command object where the type is a user command.
Source Files
¶
- command.go
- command_builder_gen.go
- command_builder_impl_options.go
- command_builder_impl_remainder.go
- command_builder_interfaces.go
- command_router.go
- components_router.go
- frame.go
- middleware.go
- modal.go
- resolvable_mentionable.go
- resolvables_gen.go
- resolve_member.go
- response_builder.go
- response_builder_gen.go
- rest_tape_gen.go
- rest_tape_player_gen.go
- router_loader.go
- tape.go
- test_helpers.go
- tree.go
- update_later_processor.go
- void_generator.go