Browse Source

Don't stomp on VoiceConnection if exists already

This allows you to enable voice debugging prior to joining a voice
channel.
Bruce Marriner 8 years ago
parent
commit
a00f64aa86
1 changed files with 8 additions and 10 deletions
  1. 8 10
      wsapi.go

+ 8 - 10
wsapi.go

@@ -519,18 +519,16 @@ func (s *Session) ChannelVoiceJoin(gID, cID string, mute, deaf bool) (voice *Voi
 		return
 	}
 
-	// Create a new voice session
-	// TODO review what all these things are for....
-	voice = &VoiceConnection{
-		GuildID:   gID,
-		ChannelID: cID,
-		deaf:      deaf,
-		mute:      mute,
-		session:   s,
+	if voice == nil {
+		voice = &VoiceConnection{}
+		s.VoiceConnections[gID] = voice
 	}
 
-	// Store voice in VoiceConnections map for this GuildID
-	s.VoiceConnections[gID] = voice
+	voice.GuildID = gID
+	voice.ChannelID = cID
+	voice.deaf = deaf
+	voice.mute = mute
+	voice.session = s
 
 	// Send the request to Discord that we want to join the voice channel
 	data := voiceChannelJoinOp{4, voiceChannelJoinData{&gID, &cID, mute, deaf}}