From c842676deb9b1d2cae60ae9133463520501ca635 Mon Sep 17 00:00:00 2001 From: Chris Rhodes Date: Fri, 8 Jan 2016 10:24:29 -0800 Subject: [PATCH 1/2] Don't unmarshall if it won't be used. --- wsapi.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/wsapi.go b/wsapi.go index b5b76af..611aaf2 100644 --- a/wsapi.go +++ b/wsapi.go @@ -251,6 +251,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { return } case "CHANNEL_CREATE": + if !s.StateEnabled && s.OnChannelCreate == nil { + return + } var st Channel if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -262,6 +265,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { } return case "CHANNEL_UPDATE": + if !s.StateEnabled && s.OnChannelUpdate == nil { + return + } var st Channel if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -273,6 +279,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { } return case "CHANNEL_DELETE": + if !s.StateEnabled && s.OnChannelDelete == nil { + return + } var st Channel if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -284,6 +293,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { } return case "GUILD_CREATE": + if !s.StateEnabled && s.OnGuildCreate == nil { + return + } var st Guild if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -295,6 +307,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { } return case "GUILD_UPDATE": + if !s.StateEnabled && s.OnGuildUpdate == nil { + return + } var st Guild if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -306,6 +321,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { } return case "GUILD_DELETE": + if !s.StateEnabled && s.OnGuildDelete == nil { + return + } var st Guild if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -317,6 +335,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { } return case "GUILD_MEMBER_ADD": + if !s.StateEnabled && s.OnGuildMemberAdd == nil { + return + } var st Member if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -329,6 +350,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "GUILD_MEMBER_REMOVE": var st Member + if !s.StateEnabled && s.OnGuildMemberRemove == nil { + return + } if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { s.State.MemberRemove(&st) @@ -339,6 +363,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { } return case "GUILD_MEMBER_UPDATE": + if !s.StateEnabled && s.OnGuildMemberUpdate == nil { + return + } var st Member if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { @@ -398,6 +425,9 @@ func (s *Session) event(messageType int, message []byte) (err error) { return } case "GUILD_EMOJIS_UPDATE": + if !s.StateEnabled && s.OnGuildEmojisUpdate == nil { + return + } var st GuildEmojisUpdate if err = unmarshalEvent(e, &st); err == nil { if s.StateEnabled { From 764371c9ad02bf1f12ed6cac510aea1b2ecd4689 Mon Sep 17 00:00:00 2001 From: Chris Rhodes Date: Fri, 8 Jan 2016 10:31:34 -0800 Subject: [PATCH 2/2] :ok_hand: --- wsapi.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/wsapi.go b/wsapi.go index e3c2ba9..9fd0bed 100644 --- a/wsapi.go +++ b/wsapi.go @@ -252,7 +252,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { } case "CHANNEL_CREATE": if !s.StateEnabled && s.OnChannelCreate == nil { - return + break } var st *Channel if err = unmarshalEvent(e, &st); err == nil { @@ -266,7 +266,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "CHANNEL_UPDATE": if !s.StateEnabled && s.OnChannelUpdate == nil { - return + break } var st *Channel if err = unmarshalEvent(e, &st); err == nil { @@ -280,7 +280,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "CHANNEL_DELETE": if !s.StateEnabled && s.OnChannelDelete == nil { - return + break } var st *Channel if err = unmarshalEvent(e, &st); err == nil { @@ -294,7 +294,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "GUILD_CREATE": if !s.StateEnabled && s.OnGuildCreate == nil { - return + break } var st *Guild if err = unmarshalEvent(e, &st); err == nil { @@ -308,7 +308,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "GUILD_UPDATE": if !s.StateEnabled && s.OnGuildUpdate == nil { - return + break } var st *Guild if err = unmarshalEvent(e, &st); err == nil { @@ -322,7 +322,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "GUILD_DELETE": if !s.StateEnabled && s.OnGuildDelete == nil { - return + break } var st *Guild if err = unmarshalEvent(e, &st); err == nil { @@ -336,7 +336,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "GUILD_MEMBER_ADD": if !s.StateEnabled && s.OnGuildMemberAdd == nil { - return + break } var st *Member if err = unmarshalEvent(e, &st); err == nil { @@ -350,7 +350,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "GUILD_MEMBER_REMOVE": if !s.StateEnabled && s.OnGuildMemberRemove == nil { - return + break } var st *Member if err = unmarshalEvent(e, &st); err == nil { @@ -364,7 +364,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { return case "GUILD_MEMBER_UPDATE": if !s.StateEnabled && s.OnGuildMemberUpdate == nil { - return + break } var st *Member if err = unmarshalEvent(e, &st); err == nil { @@ -426,7 +426,7 @@ func (s *Session) event(messageType int, message []byte) (err error) { } case "GUILD_EMOJIS_UPDATE": if !s.StateEnabled && s.OnGuildEmojisUpdate == nil { - return + break } var st *GuildEmojisUpdate if err = unmarshalEvent(e, &st); err == nil {