ソースを参照

Mirror the Voice guard.

Chris Rhodes 9 年 前
コミット
7d112b562e
1 ファイル変更6 行追加7 行削除
  1. 6 7
      wsapi.go

+ 6 - 7
wsapi.go

@@ -321,7 +321,9 @@ func (s *Session) event(messageType int, message []byte) {
 		}
 		var st *VoiceServerUpdate
 		if err = unmarshalEvent(e, &st); err == nil {
-			s.onVoiceServerUpdate(st)
+			if s.Voice != nil {
+				s.onVoiceServerUpdate(st)
+			}
 			if s.OnVoiceServerUpdate != nil {
 				s.OnVoiceServerUpdate(s, st)
 			}
@@ -335,7 +337,9 @@ func (s *Session) event(messageType int, message []byte) {
 		}
 		var st *VoiceState
 		if err = unmarshalEvent(e, &st); err == nil {
-			s.onVoiceStateUpdate(st)
+			if s.Voice != nil {
+				s.onVoiceStateUpdate(st)
+			}
 			if s.OnVoiceStateUpdate != nil {
 				s.OnVoiceStateUpdate(s, st)
 			}
@@ -789,11 +793,6 @@ func (s *Session) onVoiceStateUpdate(st *VoiceState) {
 // connection and should happen after the VOICE_STATE event.
 func (s *Session) onVoiceServerUpdate(st *VoiceServerUpdate) {
 
-	// This shouldn't ever be the case, I don't think.
-	if s.Voice == nil {
-		return
-	}
-
 	// Store values for later use
 	s.Voice.token = st.Token
 	s.Voice.endpoint = st.Endpoint