263 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			263 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package discordgo
 | |
| 
 | |
| import (
 | |
| 	"encoding/json"
 | |
| )
 | |
| 
 | |
| // This file contains all the possible structs that can be
 | |
| // handled by AddHandler/EventHandler.
 | |
| // DO NOT ADD ANYTHING BUT EVENT HANDLER STRUCTS TO THIS FILE.
 | |
| //go:generate go run tools/cmd/eventhandlers/main.go
 | |
| 
 | |
| // Connect is the data for a Connect event.
 | |
| // This is a sythetic event and is not dispatched by Discord.
 | |
| type Connect struct{}
 | |
| 
 | |
| // Disconnect is the data for a Disconnect event.
 | |
| // This is a sythetic event and is not dispatched by Discord.
 | |
| type Disconnect struct{}
 | |
| 
 | |
| // RateLimit is the data for a RateLimit event.
 | |
| // This is a sythetic event and is not dispatched by Discord.
 | |
| type RateLimit struct {
 | |
| 	*TooManyRequests
 | |
| 	URL string
 | |
| }
 | |
| 
 | |
| // Event provides a basic initial struct for all websocket events.
 | |
| type Event struct {
 | |
| 	Operation int             `json:"op"`
 | |
| 	Sequence  int64           `json:"s"`
 | |
| 	Type      string          `json:"t"`
 | |
| 	RawData   json.RawMessage `json:"d"`
 | |
| 	// Struct contains one of the other types in this file.
 | |
| 	Struct interface{} `json:"-"`
 | |
| }
 | |
| 
 | |
| // A Ready stores all data for the websocket READY event.
 | |
| type Ready struct {
 | |
| 	Version         int          `json:"v"`
 | |
| 	SessionID       string       `json:"session_id"`
 | |
| 	User            *User        `json:"user"`
 | |
| 	ReadState       []*ReadState `json:"read_state"`
 | |
| 	PrivateChannels []*Channel   `json:"private_channels"`
 | |
| 	Guilds          []*Guild     `json:"guilds"`
 | |
| 
 | |
| 	// Undocumented fields
 | |
| 	Settings          *Settings            `json:"user_settings"`
 | |
| 	UserGuildSettings []*UserGuildSettings `json:"user_guild_settings"`
 | |
| 	Relationships     []*Relationship      `json:"relationships"`
 | |
| 	Presences         []*Presence          `json:"presences"`
 | |
| 	Notes             map[string]string    `json:"notes"`
 | |
| }
 | |
| 
 | |
| // ChannelCreate is the data for a ChannelCreate event.
 | |
| type ChannelCreate struct {
 | |
| 	*Channel
 | |
| }
 | |
| 
 | |
| // ChannelUpdate is the data for a ChannelUpdate event.
 | |
| type ChannelUpdate struct {
 | |
| 	*Channel
 | |
| }
 | |
| 
 | |
| // ChannelDelete is the data for a ChannelDelete event.
 | |
| type ChannelDelete struct {
 | |
| 	*Channel
 | |
| }
 | |
| 
 | |
| // ChannelPinsUpdate stores data for a ChannelPinsUpdate event.
 | |
| type ChannelPinsUpdate struct {
 | |
| 	LastPinTimestamp string `json:"last_pin_timestamp"`
 | |
| 	ChannelID        string `json:"channel_id"`
 | |
| 	GuildID          string `json:"guild_id,omitempty"`
 | |
| }
 | |
| 
 | |
| // GuildCreate is the data for a GuildCreate event.
 | |
| type GuildCreate struct {
 | |
| 	*Guild
 | |
| }
 | |
| 
 | |
| // GuildUpdate is the data for a GuildUpdate event.
 | |
| type GuildUpdate struct {
 | |
| 	*Guild
 | |
| }
 | |
| 
 | |
| // GuildDelete is the data for a GuildDelete event.
 | |
| type GuildDelete struct {
 | |
| 	*Guild
 | |
| }
 | |
| 
 | |
| // GuildBanAdd is the data for a GuildBanAdd event.
 | |
| type GuildBanAdd struct {
 | |
| 	User    *User  `json:"user"`
 | |
| 	GuildID string `json:"guild_id"`
 | |
| }
 | |
| 
 | |
| // GuildBanRemove is the data for a GuildBanRemove event.
 | |
| type GuildBanRemove struct {
 | |
| 	User    *User  `json:"user"`
 | |
| 	GuildID string `json:"guild_id"`
 | |
| }
 | |
| 
 | |
| // GuildMemberAdd is the data for a GuildMemberAdd event.
 | |
| type GuildMemberAdd struct {
 | |
| 	*Member
 | |
| }
 | |
| 
 | |
| // GuildMemberUpdate is the data for a GuildMemberUpdate event.
 | |
| type GuildMemberUpdate struct {
 | |
| 	*Member
 | |
| }
 | |
| 
 | |
| // GuildMemberRemove is the data for a GuildMemberRemove event.
 | |
| type GuildMemberRemove struct {
 | |
| 	*Member
 | |
| }
 | |
| 
 | |
| // GuildRoleCreate is the data for a GuildRoleCreate event.
 | |
| type GuildRoleCreate struct {
 | |
| 	*GuildRole
 | |
| }
 | |
| 
 | |
| // GuildRoleUpdate is the data for a GuildRoleUpdate event.
 | |
| type GuildRoleUpdate struct {
 | |
| 	*GuildRole
 | |
| }
 | |
| 
 | |
| // A GuildRoleDelete is the data for a GuildRoleDelete event.
 | |
| type GuildRoleDelete struct {
 | |
| 	RoleID  string `json:"role_id"`
 | |
| 	GuildID string `json:"guild_id"`
 | |
| }
 | |
| 
 | |
| // A GuildEmojisUpdate is the data for a guild emoji update event.
 | |
| type GuildEmojisUpdate struct {
 | |
| 	GuildID string   `json:"guild_id"`
 | |
| 	Emojis  []*Emoji `json:"emojis"`
 | |
| }
 | |
| 
 | |
| // A GuildMembersChunk is the data for a GuildMembersChunk event.
 | |
| type GuildMembersChunk struct {
 | |
| 	GuildID string    `json:"guild_id"`
 | |
| 	Members []*Member `json:"members"`
 | |
| }
 | |
| 
 | |
| // GuildIntegrationsUpdate is the data for a GuildIntegrationsUpdate event.
 | |
| type GuildIntegrationsUpdate struct {
 | |
| 	GuildID string `json:"guild_id"`
 | |
| }
 | |
| 
 | |
| // MessageAck is the data for a MessageAck event.
 | |
| type MessageAck struct {
 | |
| 	MessageID string `json:"message_id"`
 | |
| 	ChannelID string `json:"channel_id"`
 | |
| }
 | |
| 
 | |
| // MessageCreate is the data for a MessageCreate event.
 | |
| type MessageCreate struct {
 | |
| 	*Message
 | |
| }
 | |
| 
 | |
| // MessageUpdate is the data for a MessageUpdate event.
 | |
| type MessageUpdate struct {
 | |
| 	*Message
 | |
| }
 | |
| 
 | |
| // MessageDelete is the data for a MessageDelete event.
 | |
| type MessageDelete struct {
 | |
| 	*Message
 | |
| }
 | |
| 
 | |
| // MessageReactionAdd is the data for a MessageReactionAdd event.
 | |
| type MessageReactionAdd struct {
 | |
| 	*MessageReaction
 | |
| }
 | |
| 
 | |
| // MessageReactionRemove is the data for a MessageReactionRemove event.
 | |
| type MessageReactionRemove struct {
 | |
| 	*MessageReaction
 | |
| }
 | |
| 
 | |
| // MessageReactionRemoveAll is the data for a MessageReactionRemoveAll event.
 | |
| type MessageReactionRemoveAll struct {
 | |
| 	*MessageReaction
 | |
| }
 | |
| 
 | |
| // PresencesReplace is the data for a PresencesReplace event.
 | |
| type PresencesReplace []*Presence
 | |
| 
 | |
| // PresenceUpdate is the data for a PresenceUpdate event.
 | |
| type PresenceUpdate struct {
 | |
| 	Presence
 | |
| 	GuildID string   `json:"guild_id"`
 | |
| 	Roles   []string `json:"roles"`
 | |
| }
 | |
| 
 | |
| // Resumed is the data for a Resumed event.
 | |
| type Resumed struct {
 | |
| 	Trace []string `json:"_trace"`
 | |
| }
 | |
| 
 | |
| // RelationshipAdd is the data for a RelationshipAdd event.
 | |
| type RelationshipAdd struct {
 | |
| 	*Relationship
 | |
| }
 | |
| 
 | |
| // RelationshipRemove is the data for a RelationshipRemove event.
 | |
| type RelationshipRemove struct {
 | |
| 	*Relationship
 | |
| }
 | |
| 
 | |
| // TypingStart is the data for a TypingStart event.
 | |
| type TypingStart struct {
 | |
| 	UserID    string `json:"user_id"`
 | |
| 	ChannelID string `json:"channel_id"`
 | |
| 	GuildID   string `json:"guild_id,omitempty"`
 | |
| 	Timestamp int    `json:"timestamp"`
 | |
| }
 | |
| 
 | |
| // UserUpdate is the data for a UserUpdate event.
 | |
| type UserUpdate struct {
 | |
| 	*User
 | |
| }
 | |
| 
 | |
| // UserSettingsUpdate is the data for a UserSettingsUpdate event.
 | |
| type UserSettingsUpdate map[string]interface{}
 | |
| 
 | |
| // UserGuildSettingsUpdate is the data for a UserGuildSettingsUpdate event.
 | |
| type UserGuildSettingsUpdate struct {
 | |
| 	*UserGuildSettings
 | |
| }
 | |
| 
 | |
| // UserNoteUpdate is the data for a UserNoteUpdate event.
 | |
| type UserNoteUpdate struct {
 | |
| 	ID   string `json:"id"`
 | |
| 	Note string `json:"note"`
 | |
| }
 | |
| 
 | |
| // VoiceServerUpdate is the data for a VoiceServerUpdate event.
 | |
| type VoiceServerUpdate struct {
 | |
| 	Token    string `json:"token"`
 | |
| 	GuildID  string `json:"guild_id"`
 | |
| 	Endpoint string `json:"endpoint"`
 | |
| }
 | |
| 
 | |
| // VoiceStateUpdate is the data for a VoiceStateUpdate event.
 | |
| type VoiceStateUpdate struct {
 | |
| 	*VoiceState
 | |
| }
 | |
| 
 | |
| // MessageDeleteBulk is the data for a MessageDeleteBulk event
 | |
| type MessageDeleteBulk struct {
 | |
| 	Messages  []string `json:"ids"`
 | |
| 	ChannelID string   `json:"channel_id"`
 | |
| 	GuildID   string   `json:"guild_id"`
 | |
| }
 | |
| 
 | |
| // WebhooksUpdate is the data for a WebhooksUpdate event
 | |
| type WebhooksUpdate struct {
 | |
| 	GuildID   string `json:"guild_id"`
 | |
| 	ChannelID string `json:"channel_id"`
 | |
| }
 | 
