diff --git a/wsapi.go b/wsapi.go index c0cf87a..dd7837f 100644 --- a/wsapi.go +++ b/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