5
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2024-12-27 07:45:40 +00:00
matterbridge/vendor/github.com/bwmarrin/discordgo/events.go

239 lines
6.1 KiB
Go
Raw Normal View History

2016-09-19 18:53:26 +00:00
package discordgo
2017-01-28 21:45:32 +00:00
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.
2016-09-19 18:53:26 +00:00
type Connect struct{}
2017-01-28 21:45:32 +00:00
// Disconnect is the data for a Disconnect event.
// This is a sythetic event and is not dispatched by Discord.
2016-09-19 18:53:26 +00:00
type Disconnect struct{}
2017-01-28 21:45:32 +00:00
// RateLimit is the data for a RateLimit event.
// This is a sythetic event and is not dispatched by Discord.
2016-09-19 18:53:26 +00:00
type RateLimit struct {
*TooManyRequests
URL string
}
2017-01-28 21:45:32 +00:00
// 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:"-"`
2016-09-19 18:53:26 +00:00
}
2017-01-28 21:45:32 +00:00
// 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"`
2016-09-19 18:53:26 +00:00
2017-01-28 21:45:32 +00:00
// Undocumented fields
Settings *Settings `json:"user_settings"`
UserGuildSettings []*UserGuildSettings `json:"user_guild_settings"`
Relationships []*Relationship `json:"relationships"`
Presences []*Presence `json:"presences"`
2016-09-19 18:53:26 +00:00
}
2017-01-28 21:45:32 +00:00
// ChannelCreate is the data for a ChannelCreate event.
2016-09-19 18:53:26 +00:00
type ChannelCreate struct {
*Channel
}
2017-01-28 21:45:32 +00:00
// ChannelUpdate is the data for a ChannelUpdate event.
2016-09-19 18:53:26 +00:00
type ChannelUpdate struct {
*Channel
}
2017-01-28 21:45:32 +00:00
// ChannelDelete is the data for a ChannelDelete event.
2016-09-19 18:53:26 +00:00
type ChannelDelete struct {
*Channel
}
2017-01-28 21:45:32 +00:00
// 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.
2016-09-19 18:53:26 +00:00
type GuildCreate struct {
*Guild
}
2017-01-28 21:45:32 +00:00
// GuildUpdate is the data for a GuildUpdate event.
2016-09-19 18:53:26 +00:00
type GuildUpdate struct {
*Guild
}
2017-01-28 21:45:32 +00:00
// GuildDelete is the data for a GuildDelete event.
2016-09-19 18:53:26 +00:00
type GuildDelete struct {
*Guild
}
2017-01-28 21:45:32 +00:00
// GuildBanAdd is the data for a GuildBanAdd event.
2016-09-19 18:53:26 +00:00
type GuildBanAdd struct {
2017-01-28 21:45:32 +00:00
User *User `json:"user"`
GuildID string `json:"guild_id"`
2016-09-19 18:53:26 +00:00
}
2017-01-28 21:45:32 +00:00
// GuildBanRemove is the data for a GuildBanRemove event.
2016-09-19 18:53:26 +00:00
type GuildBanRemove struct {
2017-01-28 21:45:32 +00:00
User *User `json:"user"`
GuildID string `json:"guild_id"`
2016-09-19 18:53:26 +00:00
}
2017-01-28 21:45:32 +00:00
// GuildMemberAdd is the data for a GuildMemberAdd event.
2016-09-19 18:53:26 +00:00
type GuildMemberAdd struct {
*Member
}
2017-01-28 21:45:32 +00:00
// GuildMemberUpdate is the data for a GuildMemberUpdate event.
2016-09-19 18:53:26 +00:00
type GuildMemberUpdate struct {
*Member
}
2017-01-28 21:45:32 +00:00
// GuildMemberRemove is the data for a GuildMemberRemove event.
2016-09-19 18:53:26 +00:00
type GuildMemberRemove struct {
*Member
}
2017-01-28 21:45:32 +00:00
// GuildRoleCreate is the data for a GuildRoleCreate event.
2016-09-19 18:53:26 +00:00
type GuildRoleCreate struct {
*GuildRole
}
2017-01-28 21:45:32 +00:00
// GuildRoleUpdate is the data for a GuildRoleUpdate event.
2016-09-19 18:53:26 +00:00
type GuildRoleUpdate struct {
*GuildRole
}
2017-01-28 21:45:32 +00:00
// 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.
2016-09-19 18:53:26 +00:00
type PresencesReplace []*Presence
2017-01-28 21:45:32 +00:00
// 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"`
2016-09-19 18:53:26 +00:00
}
2017-01-28 21:45:32 +00:00
// 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.
2016-09-19 18:53:26 +00:00
type UserUpdate struct {
*User
}
2017-01-28 21:45:32 +00:00
// UserSettingsUpdate is the data for a UserSettingsUpdate event.
2016-09-19 18:53:26 +00:00
type UserSettingsUpdate map[string]interface{}
2017-01-28 21:45:32 +00:00
// UserGuildSettingsUpdate is the data for a UserGuildSettingsUpdate event.
2016-09-19 18:53:26 +00:00
type UserGuildSettingsUpdate struct {
*UserGuildSettings
}
2017-01-28 21:45:32 +00:00
// 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
}