Documentation ¶
Overview ¶
Package events implements event mapping for the discordgo library.
Since discordgo does not have a common interface amongst Events or a name/ID attached to them, it's only possible to handle events selectively with type switches or reflection. Type switches get messy, and reflection is slow.
This package aims to improve event handling by providing types, wrappers and interfaces for events
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DiscordEvent ¶
type DiscordEvent struct { Type EventType Event interface{} }
func NewDiscordEvent ¶
func NewDiscordEvent(v interface{}) (*DiscordEvent, error)
type EventType ¶
type EventType int
const ( // NoEvent and AllEvents are special constants that don't map to a discord event NoEvent EventType = iota // Basic Websocket Event WebsocketEvent // Discord Events ConnectEvent DisconnectEvent RateLimitEvent ReadyEvent ResumedEvent ChannelCreateEvent ChannelUpdateEvent ChannelDeleteEvent ChannelPinsUpdateEvent GuildCreateEvent GuildUpdateEvent GuildDeleteEvent GuildBanAddEvent GuildBanRemoveEvent GuildMemberAddEvent GuildMemberUpdateEvent GuildMemberRemoveEvent GuildRoleCreateEvent GuildRoleUpdateEvent GuildRoleDeleteEvent GuildEmojisUpdateEvent GuildMembersChunkEvent GuildIntegrationsUpdateEvent MessageAckEvent MessageCreateEvent MessageUpdateEvent MessageDeleteEvent MessageReactionAddEvent MessageReactionRemoveEvent PresencesReplaceEvent PresenceUpdateEvent RelationshipAddEvent RelationshipRemoveEvent TypingStartEvent UserUpdateEvent UserSettingsUpdateEvent UserGuildSettingsUpdateEvent VoiceServerUpdateEvent VoiceStateUpdateEvent )
Curated from discordgo/events.go TODO: Use go:generate
func GetEventType ¶
GetEventType returns the EventType for a given discordgo event.
type InvalidEventTypeError ¶
type InvalidEventTypeError struct {
Event interface{}
}
func (InvalidEventTypeError) Error ¶
func (e InvalidEventTypeError) Error() string
Click to show internal directories.
Click to hide internal directories.