Skip to content

Commit

Permalink
Merge pull request #578 from foxbot/feature/manual-voice-connection
Browse files Browse the repository at this point in the history
feature: add ChannelVoiceJoinManual
  • Loading branch information
bwmarrin authored Aug 27, 2018
2 parents e7ec3c1 + a089b52 commit c53a1b5
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions wsapi.go
Original file line number Diff line number Diff line change
Expand Up @@ -627,6 +627,30 @@ func (s *Session) ChannelVoiceJoin(gID, cID string, mute, deaf bool) (voice *Voi
return
}

// ChannelVoiceJoinManual initiates a voice session to a voice channel, but does not complete it.
//
// This should only be used when the VoiceServerUpdate will be intercepted and used elsewhere.
//
// gID : Guild ID of the channel to join.
// cID : Channel ID of the channel to join.
// mute : If true, you will be set to muted upon joining.
// deaf : If true, you will be set to deafened upon joining.
func (s *Session) ChannelVoiceJoinManual(gID, cID string, mute, deaf bool) (err error) {

s.log(LogInformational, "called")

// Send the request to Discord that we want to join the voice channel
data := voiceChannelJoinOp{4, voiceChannelJoinData{&gID, &cID, mute, deaf}}
s.wsMutex.Lock()
err = s.wsConn.WriteJSON(data)
s.wsMutex.Unlock()
if err != nil {
return
}

return
}

// onVoiceStateUpdate handles Voice State Update events on the data websocket.
func (s *Session) onVoiceStateUpdate(st *VoiceStateUpdate) {

Expand Down

0 comments on commit c53a1b5

Please sign in to comment.