mirror of
https://github.com/diamondburned/arikawa.git
synced 2025-03-28 12:59:48 +00:00
Merge pull request #58 from mavolin/45-inheritance
This commit is contained in:
commit
6e384a69c0
|
@ -230,7 +230,9 @@ type (
|
||||||
// https://discordapp.com/developers/docs/topics/gateway#presence
|
// https://discordapp.com/developers/docs/topics/gateway#presence
|
||||||
type (
|
type (
|
||||||
// Clients may only update their game status 5 times per 20 seconds.
|
// Clients may only update their game status 5 times per 20 seconds.
|
||||||
PresenceUpdateEvent discord.Presence
|
PresenceUpdateEvent struct {
|
||||||
|
discord.Presence
|
||||||
|
}
|
||||||
PresencesReplaceEvent []discord.Presence
|
PresencesReplaceEvent []discord.Presence
|
||||||
|
|
||||||
// SessionsReplaceEvent is an undocumented user event. It's likely used for
|
// SessionsReplaceEvent is an undocumented user event. It's likely used for
|
||||||
|
@ -260,12 +262,16 @@ type (
|
||||||
Member *discord.Member `json:"member,omitempty"`
|
Member *discord.Member `json:"member,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
UserUpdateEvent discord.User
|
UserUpdateEvent struct {
|
||||||
|
discord.User
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// https://discordapp.com/developers/docs/topics/gateway#voice
|
// https://discordapp.com/developers/docs/topics/gateway#voice
|
||||||
type (
|
type (
|
||||||
VoiceStateUpdateEvent discord.VoiceState
|
VoiceStateUpdateEvent struct {
|
||||||
|
discord.VoiceState
|
||||||
|
}
|
||||||
VoiceServerUpdateEvent struct {
|
VoiceServerUpdateEvent struct {
|
||||||
Token string `json:"token"`
|
Token string `json:"token"`
|
||||||
GuildID discord.Snowflake `json:"guild_id"`
|
GuildID discord.Snowflake `json:"guild_id"`
|
||||||
|
@ -283,8 +289,12 @@ type (
|
||||||
|
|
||||||
// Undocumented
|
// Undocumented
|
||||||
type (
|
type (
|
||||||
UserGuildSettingsUpdateEvent UserGuildSettings
|
UserGuildSettingsUpdateEvent struct {
|
||||||
UserSettingsUpdateEvent UserSettings
|
UserGuildSettings
|
||||||
|
}
|
||||||
|
UserSettingsUpdateEvent struct {
|
||||||
|
UserSettings
|
||||||
|
}
|
||||||
UserNoteUpdateEvent struct {
|
UserNoteUpdateEvent struct {
|
||||||
ID discord.Snowflake `json:"id"`
|
ID discord.Snowflake `json:"id"`
|
||||||
Note string `json:"note"`
|
Note string `json:"note"`
|
||||||
|
@ -292,6 +302,10 @@ type (
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
RelationshipAdd Relationship
|
RelationshipAdd struct {
|
||||||
RelationshipRemove Relationship
|
Relationship
|
||||||
|
}
|
||||||
|
RelationshipRemove struct {
|
||||||
|
Relationship
|
||||||
|
}
|
||||||
)
|
)
|
||||||
|
|
|
@ -224,8 +224,7 @@ func (s *State) onEvent(iface interface{}) {
|
||||||
})
|
})
|
||||||
|
|
||||||
case *gateway.PresenceUpdateEvent:
|
case *gateway.PresenceUpdateEvent:
|
||||||
presence := (*discord.Presence)(ev)
|
if err := s.Store.PresenceSet(ev.GuildID, &ev.Presence); err != nil {
|
||||||
if err := s.Store.PresenceSet(ev.GuildID, presence); err != nil {
|
|
||||||
s.stateErr(err, "Failed to update presence in state")
|
s.stateErr(err, "Failed to update presence in state")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -243,23 +242,23 @@ func (s *State) onEvent(iface interface{}) {
|
||||||
case *gateway.UserGuildSettingsUpdateEvent:
|
case *gateway.UserGuildSettingsUpdateEvent:
|
||||||
for i, ugs := range s.Ready.UserGuildSettings {
|
for i, ugs := range s.Ready.UserGuildSettings {
|
||||||
if ugs.GuildID == ev.GuildID {
|
if ugs.GuildID == ev.GuildID {
|
||||||
s.Ready.UserGuildSettings[i] = gateway.UserGuildSettings(*ev)
|
s.Ready.UserGuildSettings[i] = ev.UserGuildSettings
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
case *gateway.UserSettingsUpdateEvent:
|
case *gateway.UserSettingsUpdateEvent:
|
||||||
s.Ready.Settings = (*gateway.UserSettings)(ev)
|
s.Ready.Settings = &ev.UserSettings
|
||||||
|
|
||||||
case *gateway.UserNoteUpdateEvent:
|
case *gateway.UserNoteUpdateEvent:
|
||||||
s.Ready.Notes[ev.ID] = ev.Note
|
s.Ready.Notes[ev.ID] = ev.Note
|
||||||
|
|
||||||
case *gateway.UserUpdateEvent:
|
case *gateway.UserUpdateEvent:
|
||||||
if err := s.Store.MyselfSet((*discord.User)(ev)); err != nil {
|
if err := s.Store.MyselfSet(&ev.User); err != nil {
|
||||||
s.stateErr(err, "Failed to update myself from USER_UPDATE")
|
s.stateErr(err, "Failed to update myself from USER_UPDATE")
|
||||||
}
|
}
|
||||||
|
|
||||||
case *gateway.VoiceStateUpdateEvent:
|
case *gateway.VoiceStateUpdateEvent:
|
||||||
vs := (*discord.VoiceState)(ev)
|
vs := &ev.VoiceState
|
||||||
if vs.ChannelID == 0 {
|
if vs.ChannelID == 0 {
|
||||||
if err := s.Store.VoiceStateRemove(vs.GuildID, vs.UserID); err != nil {
|
if err := s.Store.VoiceStateRemove(vs.GuildID, vs.UserID); err != nil {
|
||||||
s.stateErr(err, "Failed to remove voice state from state")
|
s.stateErr(err, "Failed to remove voice state from state")
|
||||||
|
|
Loading…
Reference in a new issue