Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // Verify reports whether sig is a valid signature of message by publicKey. It Verify = func(publicKey PublicKey, message []byte, sig []byte) bool { return ed25519.Verify(publicKey, message, sig) } // SignatureSize is the size, in bytes, of signatures generated and verified by this package. SignatureSize = ed25519.SignatureSize )
Functions ¶
func HandleInteraction ¶ added in v0.13.10
func HandleInteraction(publicKey PublicKey, logger *slog.Logger, handleFunc EventHandlerFunc) http.HandlerFunc
HandleInteraction handles an interaction from Discord's Outgoing Webhooks. It verifies and parses the interaction and then calls the passed EventHandlerFunc.
func VerifyRequest ¶
VerifyRequest implements the verification side of the discord interactions api signing algorithm, as documented here: https://discord.com/developers/docs/interactions/slash-commands#security-and-authorization Credit: https://github.com/bsdlp/discord-interactions-go/blob/main/interactions/verify.go
Types ¶
type Config ¶
type Config struct { Logger *slog.Logger HTTPServer *http.Server ServeMux *http.ServeMux URL string Address string CertFile string KeyFile string }
Config lets you configure your Server instance.
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig returns a Config with sensible defaults.
type ConfigOpt ¶
type ConfigOpt func(config *Config)
ConfigOpt is a type alias for a function that takes a Config and is used to configure your Server.
func WithAddress ¶
WithAddress sets the Address of the Config.
func WithHTTPServer ¶
WithHTTPServer sets the http.Server of the Config.
func WithLogger ¶
WithLogger sets the Logger of the Config.
func WithServeMux ¶
WithServeMux sets the http.ServeMux of the Config.
type EventHandlerFunc ¶
type EventHandlerFunc func(responseFunc RespondFunc, event EventInteractionCreate)
EventHandlerFunc is used to handle events from Discord's Outgoing Webhooks
type EventInteractionCreate ¶ added in v0.13.10
type EventInteractionCreate struct {
discord.Interaction
}
EventInteractionCreate is the event payload when an interaction is created via Discord's Outgoing Webhooks
func (EventInteractionCreate) MarshalJSON ¶ added in v0.15.1
func (e EventInteractionCreate) MarshalJSON() ([]byte, error)
func (*EventInteractionCreate) UnmarshalJSON ¶ added in v0.13.10
func (e *EventInteractionCreate) UnmarshalJSON(data []byte) error
type RespondFunc ¶ added in v0.8.9
type RespondFunc func(response discord.InteractionResponse) error
RespondFunc is used to respond to Discord's Outgoing Webhooks