Documentation ¶
Overview ¶
Package mux provides a simple Discord message route multiplexer that parses messages and then executes a matching registered handler, if found. mux can be used with both Disgord and the DiscordGo library.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Context ¶
type Context struct { Fields []string Content string IsDirected bool IsPrivate bool HasPrefix bool HasMention bool HasMentionFirst bool }
Context holds a bit of extra data we pass along to route handlers This way processing some of this only needs to happen once.
type HandlerFunc ¶
HandlerFunc is the function signature required for a message route handler.
type Mux ¶
Mux is the main struct for all mux methods.
func (*Mux) FuzzyMatch ¶
FuzzyMatch attepts to find the best route match for a givin message.
func (*Mux) Help ¶
Help function provides a build in "help" command that will display a list of all registered routes (commands). To use this function it must first be registered with the Mux.Route function.
func (*Mux) OnMessageCreate ¶
func (m *Mux) OnMessageCreate(ds *discordgo.Session, mc *discordgo.MessageCreate)
OnMessageCreate is a DiscordGo Event Handler function. This must be registered using the DiscordGo.Session.AddHandler function. This function will receive all Discord messages and parse them for matches to registered routes.
type Route ¶
type Route struct { Pattern string // match pattern that should trigger this route handler Description string // short description of this route Help string // detailed help string for this route Run HandlerFunc // route handler function to call }
Route holds information about a specific message route handler