Explorar o código

Handle nil errors and default handler properly.

Chris Rhodes %!s(int64=9) %!d(string=hai) anos
pai
achega
7858f999b1
Modificáronse 1 ficheiros con 12 adicións e 4 borrados
  1. 12 4
      wsapi.go

+ 12 - 4
wsapi.go

@@ -319,16 +319,24 @@ func (s *Session) event(messageType int, message []byte) {
 		var st *VoiceServerUpdate
 		if err = unmarshalEvent(e, &st); err == nil {
 			s.onVoiceServerUpdate(st)
-			s.OnVoiceServerUpdate(s, st)
+			if s.OnVoiceServerUpdate != nil {
+				s.OnVoiceServerUpdate(s, st)
+			}
+		}
+		if s.OnVoiceServerUpdate != nil {
+			return
 		}
-		return
 	case "VOICE_STATE_UPDATE":
 		var st *VoiceState
 		if err = unmarshalEvent(e, &st); err == nil {
 			s.onVoiceStateUpdate(st)
-			s.OnVoiceStateUpdate(s, st)
+			if s.OnVoiceStateUpdate != nil {
+				s.OnVoiceStateUpdate(s, st)
+			}
+		}
+		if s.OnVoiceStateUpdate != nil {
+			return
 		}
-		return
 	case "USER_UPDATE":
 		if s.OnUserUpdate != nil {
 			var st *User