Return state errors. Because we're good citizens.

This commit is contained in:
Chris Rhodes 2016-02-15 20:07:01 -08:00
parent aebfb09719
commit 4895ace11d

View file

@ -477,39 +477,44 @@ func (s *State) Message(channelID, messageID string) (*Message, error) {
} }
// onInterface handles all events related to states. // onInterface handles all events related to states.
func (s *State) onInterface(se *Session, i interface{}) { func (s *State) onInterface(se *Session, i interface{}) (err error) {
if s == nil || !se.StateEnabled { if s == nil {
return return ErrNilState
}
if !se.StateEnabled {
return nil
} }
switch t := i.(type) { switch t := i.(type) {
case *Ready: case *Ready:
s.OnReady(t) err = s.OnReady(t)
case *GuildCreate: case *GuildCreate:
s.GuildAdd(t.Guild) err = s.GuildAdd(t.Guild)
case *GuildUpdate: case *GuildUpdate:
s.GuildAdd(t.Guild) err = s.GuildAdd(t.Guild)
case *GuildDelete: case *GuildDelete:
s.GuildRemove(t.Guild) err = s.GuildRemove(t.Guild)
case *GuildMemberAdd: case *GuildMemberAdd:
s.MemberAdd(t.Member) err = s.MemberAdd(t.Member)
case *GuildMemberUpdate: case *GuildMemberUpdate:
s.MemberAdd(t.Member) err = s.MemberAdd(t.Member)
case *GuildMemberRemove: case *GuildMemberRemove:
s.MemberRemove(t.Member) err = s.MemberRemove(t.Member)
case *GuildEmojisUpdate: case *GuildEmojisUpdate:
s.EmojisAdd(t.GuildID, t.Emojis) err = s.EmojisAdd(t.GuildID, t.Emojis)
case *ChannelCreate: case *ChannelCreate:
s.ChannelAdd(t.Channel) err = s.ChannelAdd(t.Channel)
case *ChannelUpdate: case *ChannelUpdate:
s.ChannelAdd(t.Channel) err = s.ChannelAdd(t.Channel)
case *ChannelDelete: case *ChannelDelete:
s.ChannelRemove(t.Channel) err = s.ChannelRemove(t.Channel)
case *MessageCreate: case *MessageCreate:
s.MessageAdd(t.Message) err = s.MessageAdd(t.Message)
case *MessageUpdate: case *MessageUpdate:
s.MessageAdd(t.Message) err = s.MessageAdd(t.Message)
case *MessageDelete: case *MessageDelete:
s.MessageRemove(t.Message) err = s.MessageRemove(t.Message)
} }
return
} }