Merge pull request #111 from iopred/blah

Return state errors. Because we're good citizens.
This commit is contained in:
Bruce 2016-02-15 22:09:37 -06:00
commit 81807304a4

View file

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