type EventHandlers struct { // Not an actual revolt event, this is a sink that allows you to provide a function for raw event handling RawSinkFunc func(w *GatewayClient, data []byte, typ string) // An error occurred which meant you couldn't authenticate. // // Error func(w *GatewayClient, ctx *EventContext, e *events.Error) // The server has authenticated your connection and you will shortly start receiving data. Authenticated func(w *GatewayClient, ctx *EventContext, e *events.Authenticated) // Several events have been sent, process each item of v as its own event. // // Bulk func(w *GatewayClient, ctx *EventContext, e *events.Bulk) // Ping response from the server. // // Pong func(w *GatewayClient, ctx *EventContext, e *events.Pong) // Data for use by client, data structures match the API specification Ready func(w *GatewayClient, ctx *EventContext, e *events.Ready) // Message received, the event object has the same schema as the Message object in the API with the addition of an event type. Message func(w *GatewayClient, ctx *EventContext, e *events.Message) // Message edited or otherwise updated. MessageUpdate func(w *GatewayClient, ctx *EventContext, e *events.MessageUpdate) // Message has data being appended to it. MessageAppend func(w *GatewayClient, ctx *EventContext, e *events.MessageAppend) // Message has been deleted. MessageDelete func(w *GatewayClient, ctx *EventContext, e *events.MessageDelete) // A reaction has been added to a message. MessageReact func(w *GatewayClient, ctx *EventContext, e *events.MessageReact) // A reaction has been removed from a message. MessageUnreact func(w *GatewayClient, ctx *EventContext, e *events.MessageUnreact) // A certain reaction has been removed from the message. // // MessageRemoveReaction func(w *GatewayClient, ctx *EventContext, e *events.MessageRemoveReaction) // Channel created, the event object has the same schema as the Channel object in the API with the addition of an event type. ChannelCreate func(w *GatewayClient, ctx *EventContext, e *events.ChannelCreate) // Channel details updated. ChannelUpdate func(w *GatewayClient, ctx *EventContext, e *events.ChannelUpdate) // Channel has been deleted. ChannelDelete func(w *GatewayClient, ctx *EventContext, e *events.ChannelDelete) // A user has joined the group. ChannelGroupJoin func(w *GatewayClient, ctx *EventContext, e *events.ChannelGroupJoin) // A user has left the group. ChannelGroupLeave func(w *GatewayClient, ctx *EventContext, e *events.ChannelGroupLeave) // A user has started typing in this channel. ChannelStartTyping func(w *GatewayClient, ctx *EventContext, e *events.ChannelStartTyping) // A user has stopped typing in this channel. ChannelStopTyping func(w *GatewayClient, ctx *EventContext, e *events.ChannelStopTyping) // You have acknowledged new messages in this channel up to this message ID. // // ChannelAck func(w *GatewayClient, ctx *EventContext, e *events.ChannelAck) // Server created, the event object has the same schema as the SERVER object in the API with the addition of an event type. ServerCreate func(w *GatewayClient, ctx *EventContext, e *events.ServerCreate) // Server details updated. ServerUpdate func(w *GatewayClient, ctx *EventContext, e *events.ServerUpdate) // Server has been deleted. ServerDelete func(w *GatewayClient, ctx *EventContext, e *events.ServerDelete) // Server member details updated. ServerMemberUpdate func(w *GatewayClient, ctx *EventContext, e *events.ServerMemberUpdate) // A user has joined the group. // // ServerMemberJoin func(w *GatewayClient, ctx *EventContext, e *events.ServerMemberJoin) // A user has left the group. // // ServerMemberLeave func(w *GatewayClient, ctx *EventContext, e *events.ServerMemberLeave) // Server role has been updated or created. ServerRoleUpdate func(w *GatewayClient, ctx *EventContext, e *events.ServerRoleUpdate) // Server role has been deleted. ServerRoleDelete func(w *GatewayClient, ctx *EventContext, e *events.ServerRoleDelete) // User has been updated. UserUpdate func(w *GatewayClient, ctx *EventContext, e *events.UserUpdate) // Your relationship with another user has changed. UserRelationship func(w *GatewayClient, ctx *EventContext, e *events.UserRelationship) // Settings updated remotely // // UserSettingsUpdate func(w *GatewayClient, ctx *EventContext, e *events.UserSettingsUpdate) // User has been platform banned or deleted their account // // Clients should remove the following associated data: // - Messages // - DM Channels // - Relationships // - Server Memberships // // User flags are specified to explain why a wipe is occurring though not all reasons will necessarily ever appear. UserPlatformWipe func(w *GatewayClient, ctx *EventContext, e *events.UserPlatformWipe) // Emoji created, the event object has the same schema as the Emoji object in the API with the addition of an event type. EmojiCreate func(w *GatewayClient, ctx *EventContext, e *events.EmojiCreate) // Emoji has been deleted. EmojiDelete func(w *GatewayClient, ctx *EventContext, e *events.EmojiDelete) // New report // // ReportCreate func(w *GatewayClient, ctx *EventContext, e *events.ReportCreate) // Forwarded events from rAuth, currently only session deletion events are forwarded. // // Auth func(w *GatewayClient, ctx *EventContext, e *events.Auth) // A session has been deleted. // // Eq: Auth->DeleteSession AuthDeleteSession func(w *GatewayClient, ctx *EventContext, e *events.AuthDeleteSession) // All sessions for this account have been deleted, optionally excluding a given ID. // // Eq: Auth->DeleteAllSessions AuthDeleteAllSessions func(w *GatewayClient, ctx *EventContext, e *events.AuthDeleteAllSessions) // New webhook // // WebhookCreate func(w *GatewayClient, ctx *EventContext, e *events.WebhookCreate) // Update existing webhook // // WebhookUpdate func(w *GatewayClient, ctx *EventContext, e *events.WebhookUpdate) // Delete existing webhook // // WebhookDelete func(w *GatewayClient, ctx *EventContext, e *events.WebhookDelete) }