forked from lug/matterbridge
		
	
		
			
				
	
	
		
			239 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			239 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package discordgo
 | 
						|
 | 
						|
import (
 | 
						|
	"encoding/json"
 | 
						|
	"time"
 | 
						|
)
 | 
						|
 | 
						|
// 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  int             `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"`
 | 
						|
	HeartbeatInterval time.Duration `json:"heartbeat_interval"`
 | 
						|
	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"`
 | 
						|
}
 | 
						|
 | 
						|
// 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"`
 | 
						|
}
 | 
						|
 | 
						|
// 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
 | 
						|
}
 | 
						|
 | 
						|
// 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 {
 | 
						|
	HeartbeatInterval time.Duration `json:"heartbeat_interval"`
 | 
						|
	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"`
 | 
						|
	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
 | 
						|
}
 | 
						|
 | 
						|
// 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
 | 
						|
}
 |