feat: add guild scheduled event user add/remove gateway events (#1155)
This commit is contained in:
parent
064fa164a0
commit
16efe0842b
2 changed files with 187 additions and 125 deletions
190
eventhandlers.go
190
eventhandlers.go
|
@ -27,10 +27,12 @@ const (
|
||||||
guildRoleCreateEventType = "GUILD_ROLE_CREATE"
|
guildRoleCreateEventType = "GUILD_ROLE_CREATE"
|
||||||
guildRoleDeleteEventType = "GUILD_ROLE_DELETE"
|
guildRoleDeleteEventType = "GUILD_ROLE_DELETE"
|
||||||
guildRoleUpdateEventType = "GUILD_ROLE_UPDATE"
|
guildRoleUpdateEventType = "GUILD_ROLE_UPDATE"
|
||||||
guildUpdateEventType = "GUILD_UPDATE"
|
|
||||||
guildScheduledEventCreateEventType = "GUILD_SCHEDULED_EVENT_CREATE"
|
guildScheduledEventCreateEventType = "GUILD_SCHEDULED_EVENT_CREATE"
|
||||||
guildScheduledEventUpdateEventType = "GUILD_SCHEDULED_EVENT_UPDATE"
|
|
||||||
guildScheduledEventDeleteEventType = "GUILD_SCHEDULED_EVENT_DELETE"
|
guildScheduledEventDeleteEventType = "GUILD_SCHEDULED_EVENT_DELETE"
|
||||||
|
guildScheduledEventUpdateEventType = "GUILD_SCHEDULED_EVENT_UPDATE"
|
||||||
|
guildScheduledEventUserAddEventType = "GUILD_SCHEDULED_EVENT_USER_ADD"
|
||||||
|
guildScheduledEventUserRemoveEventType = "GUILD_SCHEDULED_EVENT_USER_REMOVE"
|
||||||
|
guildUpdateEventType = "GUILD_UPDATE"
|
||||||
interactionCreateEventType = "INTERACTION_CREATE"
|
interactionCreateEventType = "INTERACTION_CREATE"
|
||||||
inviteCreateEventType = "INVITE_CREATE"
|
inviteCreateEventType = "INVITE_CREATE"
|
||||||
inviteDeleteEventType = "INVITE_DELETE"
|
inviteDeleteEventType = "INVITE_DELETE"
|
||||||
|
@ -310,66 +312,6 @@ func (eh guildIntegrationsUpdateEventHandler) Handle(s *Session, i interface{})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// guildScheduledEventCreateEventHandler is an event handler for GuildScheduledEventCreate events.
|
|
||||||
type guildScheduledEventCreateEventHandler func(*Session, *GuildScheduledEventCreate)
|
|
||||||
|
|
||||||
// Type returns the event type for GuildScheduledEventCreate events.
|
|
||||||
func (eh guildScheduledEventCreateEventHandler) Type() string {
|
|
||||||
return guildScheduledEventCreateEventType
|
|
||||||
}
|
|
||||||
|
|
||||||
// New returns a new instance of GuildScheduledEventCreate.
|
|
||||||
func (eh guildScheduledEventCreateEventHandler) New() interface{} {
|
|
||||||
return &GuildScheduledEventCreate{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle is the handler for GuildScheduledEventCreate events.
|
|
||||||
func (eh guildScheduledEventCreateEventHandler) Handle(s *Session, i interface{}) {
|
|
||||||
if t, ok := i.(*GuildScheduledEventCreate); ok {
|
|
||||||
eh(s, t)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// guildScheduledEventUpdateEventHandler is an event handler for GuildScheduledEventUpdate events.
|
|
||||||
type guildScheduledEventUpdateEventHandler func(*Session, *GuildScheduledEventUpdate)
|
|
||||||
|
|
||||||
// Type returns the event type for GuildScheduledEventUpdate events.
|
|
||||||
func (eh guildScheduledEventUpdateEventHandler) Type() string {
|
|
||||||
return guildScheduledEventUpdateEventType
|
|
||||||
}
|
|
||||||
|
|
||||||
// New returns a new instance of GuildScheduledEventUpdate.
|
|
||||||
func (eh guildScheduledEventUpdateEventHandler) New() interface{} {
|
|
||||||
return &GuildScheduledEventUpdate{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle is the handler for GuildScheduledEventUpdate events.
|
|
||||||
func (eh guildScheduledEventUpdateEventHandler) Handle(s *Session, i interface{}) {
|
|
||||||
if t, ok := i.(*GuildScheduledEventUpdate); ok {
|
|
||||||
eh(s, t)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// guildScheduledEventDeleteEventHandler is an event handler for GuildScheduledEventDelete events.
|
|
||||||
type guildScheduledEventDeleteEventHandler func(*Session, *GuildScheduledEventDelete)
|
|
||||||
|
|
||||||
// Type returns the event type for GuildScheduledEventDelete events.
|
|
||||||
func (eh guildScheduledEventDeleteEventHandler) Type() string {
|
|
||||||
return guildScheduledEventDeleteEventType
|
|
||||||
}
|
|
||||||
|
|
||||||
// New returns a new instance of GuildScheduledEventDelete.
|
|
||||||
func (eh guildScheduledEventDeleteEventHandler) New() interface{} {
|
|
||||||
return &GuildScheduledEventDelete{}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handle is the handler for GuildScheduledEventDelete events.
|
|
||||||
func (eh guildScheduledEventDeleteEventHandler) Handle(s *Session, i interface{}) {
|
|
||||||
if t, ok := i.(*GuildScheduledEventDelete); ok {
|
|
||||||
eh(s, t)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// guildMemberAddEventHandler is an event handler for GuildMemberAdd events.
|
// guildMemberAddEventHandler is an event handler for GuildMemberAdd events.
|
||||||
type guildMemberAddEventHandler func(*Session, *GuildMemberAdd)
|
type guildMemberAddEventHandler func(*Session, *GuildMemberAdd)
|
||||||
|
|
||||||
|
@ -510,6 +452,106 @@ func (eh guildRoleUpdateEventHandler) Handle(s *Session, i interface{}) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// guildScheduledEventCreateEventHandler is an event handler for GuildScheduledEventCreate events.
|
||||||
|
type guildScheduledEventCreateEventHandler func(*Session, *GuildScheduledEventCreate)
|
||||||
|
|
||||||
|
// Type returns the event type for GuildScheduledEventCreate events.
|
||||||
|
func (eh guildScheduledEventCreateEventHandler) Type() string {
|
||||||
|
return guildScheduledEventCreateEventType
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a new instance of GuildScheduledEventCreate.
|
||||||
|
func (eh guildScheduledEventCreateEventHandler) New() interface{} {
|
||||||
|
return &GuildScheduledEventCreate{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle is the handler for GuildScheduledEventCreate events.
|
||||||
|
func (eh guildScheduledEventCreateEventHandler) Handle(s *Session, i interface{}) {
|
||||||
|
if t, ok := i.(*GuildScheduledEventCreate); ok {
|
||||||
|
eh(s, t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// guildScheduledEventDeleteEventHandler is an event handler for GuildScheduledEventDelete events.
|
||||||
|
type guildScheduledEventDeleteEventHandler func(*Session, *GuildScheduledEventDelete)
|
||||||
|
|
||||||
|
// Type returns the event type for GuildScheduledEventDelete events.
|
||||||
|
func (eh guildScheduledEventDeleteEventHandler) Type() string {
|
||||||
|
return guildScheduledEventDeleteEventType
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a new instance of GuildScheduledEventDelete.
|
||||||
|
func (eh guildScheduledEventDeleteEventHandler) New() interface{} {
|
||||||
|
return &GuildScheduledEventDelete{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle is the handler for GuildScheduledEventDelete events.
|
||||||
|
func (eh guildScheduledEventDeleteEventHandler) Handle(s *Session, i interface{}) {
|
||||||
|
if t, ok := i.(*GuildScheduledEventDelete); ok {
|
||||||
|
eh(s, t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// guildScheduledEventUpdateEventHandler is an event handler for GuildScheduledEventUpdate events.
|
||||||
|
type guildScheduledEventUpdateEventHandler func(*Session, *GuildScheduledEventUpdate)
|
||||||
|
|
||||||
|
// Type returns the event type for GuildScheduledEventUpdate events.
|
||||||
|
func (eh guildScheduledEventUpdateEventHandler) Type() string {
|
||||||
|
return guildScheduledEventUpdateEventType
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a new instance of GuildScheduledEventUpdate.
|
||||||
|
func (eh guildScheduledEventUpdateEventHandler) New() interface{} {
|
||||||
|
return &GuildScheduledEventUpdate{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle is the handler for GuildScheduledEventUpdate events.
|
||||||
|
func (eh guildScheduledEventUpdateEventHandler) Handle(s *Session, i interface{}) {
|
||||||
|
if t, ok := i.(*GuildScheduledEventUpdate); ok {
|
||||||
|
eh(s, t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// guildScheduledEventUserAddEventHandler is an event handler for GuildScheduledEventUserAdd events.
|
||||||
|
type guildScheduledEventUserAddEventHandler func(*Session, *GuildScheduledEventUserAdd)
|
||||||
|
|
||||||
|
// Type returns the event type for GuildScheduledEventUserAdd events.
|
||||||
|
func (eh guildScheduledEventUserAddEventHandler) Type() string {
|
||||||
|
return guildScheduledEventUserAddEventType
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a new instance of GuildScheduledEventUserAdd.
|
||||||
|
func (eh guildScheduledEventUserAddEventHandler) New() interface{} {
|
||||||
|
return &GuildScheduledEventUserAdd{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle is the handler for GuildScheduledEventUserAdd events.
|
||||||
|
func (eh guildScheduledEventUserAddEventHandler) Handle(s *Session, i interface{}) {
|
||||||
|
if t, ok := i.(*GuildScheduledEventUserAdd); ok {
|
||||||
|
eh(s, t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// guildScheduledEventUserRemoveEventHandler is an event handler for GuildScheduledEventUserRemove events.
|
||||||
|
type guildScheduledEventUserRemoveEventHandler func(*Session, *GuildScheduledEventUserRemove)
|
||||||
|
|
||||||
|
// Type returns the event type for GuildScheduledEventUserRemove events.
|
||||||
|
func (eh guildScheduledEventUserRemoveEventHandler) Type() string {
|
||||||
|
return guildScheduledEventUserRemoveEventType
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a new instance of GuildScheduledEventUserRemove.
|
||||||
|
func (eh guildScheduledEventUserRemoveEventHandler) New() interface{} {
|
||||||
|
return &GuildScheduledEventUserRemove{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle is the handler for GuildScheduledEventUserRemove events.
|
||||||
|
func (eh guildScheduledEventUserRemoveEventHandler) Handle(s *Session, i interface{}) {
|
||||||
|
if t, ok := i.(*GuildScheduledEventUserRemove); ok {
|
||||||
|
eh(s, t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// guildUpdateEventHandler is an event handler for GuildUpdate events.
|
// guildUpdateEventHandler is an event handler for GuildUpdate events.
|
||||||
type guildUpdateEventHandler func(*Session, *GuildUpdate)
|
type guildUpdateEventHandler func(*Session, *GuildUpdate)
|
||||||
|
|
||||||
|
@ -1195,12 +1237,6 @@ func handlerForInterface(handler interface{}) EventHandler {
|
||||||
return guildEmojisUpdateEventHandler(v)
|
return guildEmojisUpdateEventHandler(v)
|
||||||
case func(*Session, *GuildIntegrationsUpdate):
|
case func(*Session, *GuildIntegrationsUpdate):
|
||||||
return guildIntegrationsUpdateEventHandler(v)
|
return guildIntegrationsUpdateEventHandler(v)
|
||||||
case func(*Session, *GuildScheduledEventCreate):
|
|
||||||
return guildScheduledEventCreateEventHandler(v)
|
|
||||||
case func(*Session, *GuildScheduledEventUpdate):
|
|
||||||
return guildScheduledEventUpdateEventHandler(v)
|
|
||||||
case func(*Session, *GuildScheduledEventDelete):
|
|
||||||
return guildScheduledEventDeleteEventHandler(v)
|
|
||||||
case func(*Session, *GuildMemberAdd):
|
case func(*Session, *GuildMemberAdd):
|
||||||
return guildMemberAddEventHandler(v)
|
return guildMemberAddEventHandler(v)
|
||||||
case func(*Session, *GuildMemberRemove):
|
case func(*Session, *GuildMemberRemove):
|
||||||
|
@ -1215,6 +1251,16 @@ func handlerForInterface(handler interface{}) EventHandler {
|
||||||
return guildRoleDeleteEventHandler(v)
|
return guildRoleDeleteEventHandler(v)
|
||||||
case func(*Session, *GuildRoleUpdate):
|
case func(*Session, *GuildRoleUpdate):
|
||||||
return guildRoleUpdateEventHandler(v)
|
return guildRoleUpdateEventHandler(v)
|
||||||
|
case func(*Session, *GuildScheduledEventCreate):
|
||||||
|
return guildScheduledEventCreateEventHandler(v)
|
||||||
|
case func(*Session, *GuildScheduledEventDelete):
|
||||||
|
return guildScheduledEventDeleteEventHandler(v)
|
||||||
|
case func(*Session, *GuildScheduledEventUpdate):
|
||||||
|
return guildScheduledEventUpdateEventHandler(v)
|
||||||
|
case func(*Session, *GuildScheduledEventUserAdd):
|
||||||
|
return guildScheduledEventUserAddEventHandler(v)
|
||||||
|
case func(*Session, *GuildScheduledEventUserRemove):
|
||||||
|
return guildScheduledEventUserRemoveEventHandler(v)
|
||||||
case func(*Session, *GuildUpdate):
|
case func(*Session, *GuildUpdate):
|
||||||
return guildUpdateEventHandler(v)
|
return guildUpdateEventHandler(v)
|
||||||
case func(*Session, *InteractionCreate):
|
case func(*Session, *InteractionCreate):
|
||||||
|
@ -1297,9 +1343,6 @@ func init() {
|
||||||
registerInterfaceProvider(guildDeleteEventHandler(nil))
|
registerInterfaceProvider(guildDeleteEventHandler(nil))
|
||||||
registerInterfaceProvider(guildEmojisUpdateEventHandler(nil))
|
registerInterfaceProvider(guildEmojisUpdateEventHandler(nil))
|
||||||
registerInterfaceProvider(guildIntegrationsUpdateEventHandler(nil))
|
registerInterfaceProvider(guildIntegrationsUpdateEventHandler(nil))
|
||||||
registerInterfaceProvider(guildScheduledEventCreateEventHandler(nil))
|
|
||||||
registerInterfaceProvider(guildScheduledEventUpdateEventHandler(nil))
|
|
||||||
registerInterfaceProvider(guildScheduledEventDeleteEventHandler(nil))
|
|
||||||
registerInterfaceProvider(guildMemberAddEventHandler(nil))
|
registerInterfaceProvider(guildMemberAddEventHandler(nil))
|
||||||
registerInterfaceProvider(guildMemberRemoveEventHandler(nil))
|
registerInterfaceProvider(guildMemberRemoveEventHandler(nil))
|
||||||
registerInterfaceProvider(guildMemberUpdateEventHandler(nil))
|
registerInterfaceProvider(guildMemberUpdateEventHandler(nil))
|
||||||
|
@ -1307,6 +1350,11 @@ func init() {
|
||||||
registerInterfaceProvider(guildRoleCreateEventHandler(nil))
|
registerInterfaceProvider(guildRoleCreateEventHandler(nil))
|
||||||
registerInterfaceProvider(guildRoleDeleteEventHandler(nil))
|
registerInterfaceProvider(guildRoleDeleteEventHandler(nil))
|
||||||
registerInterfaceProvider(guildRoleUpdateEventHandler(nil))
|
registerInterfaceProvider(guildRoleUpdateEventHandler(nil))
|
||||||
|
registerInterfaceProvider(guildScheduledEventCreateEventHandler(nil))
|
||||||
|
registerInterfaceProvider(guildScheduledEventDeleteEventHandler(nil))
|
||||||
|
registerInterfaceProvider(guildScheduledEventUpdateEventHandler(nil))
|
||||||
|
registerInterfaceProvider(guildScheduledEventUserAddEventHandler(nil))
|
||||||
|
registerInterfaceProvider(guildScheduledEventUserRemoveEventHandler(nil))
|
||||||
registerInterfaceProvider(guildUpdateEventHandler(nil))
|
registerInterfaceProvider(guildUpdateEventHandler(nil))
|
||||||
registerInterfaceProvider(interactionCreateEventHandler(nil))
|
registerInterfaceProvider(interactionCreateEventHandler(nil))
|
||||||
registerInterfaceProvider(inviteCreateEventHandler(nil))
|
registerInterfaceProvider(inviteCreateEventHandler(nil))
|
||||||
|
|
14
events.go
14
events.go
|
@ -214,6 +214,20 @@ type GuildScheduledEventDelete struct {
|
||||||
*GuildScheduledEvent
|
*GuildScheduledEvent
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GuildScheduledEventUserAdd is the data for a GuildScheduledEventUserAdd event.
|
||||||
|
type GuildScheduledEventUserAdd struct {
|
||||||
|
GuildScheduledEventID string `json:"guild_scheduled_event_id"`
|
||||||
|
UserID string `json:"user_id"`
|
||||||
|
GuildID string `json:"guild_id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// GuildScheduledEventUserRemove is the data for a GuildScheduledEventUserRemove event.
|
||||||
|
type GuildScheduledEventUserRemove struct {
|
||||||
|
GuildScheduledEventID string `json:"guild_scheduled_event_id"`
|
||||||
|
UserID string `json:"user_id"`
|
||||||
|
GuildID string `json:"guild_id"`
|
||||||
|
}
|
||||||
|
|
||||||
// MessageAck is the data for a MessageAck event.
|
// MessageAck is the data for a MessageAck event.
|
||||||
type MessageAck struct {
|
type MessageAck struct {
|
||||||
MessageID string `json:"message_id"`
|
MessageID string `json:"message_id"`
|
||||||
|
|
Loading…
Reference in a new issue