From 4cac19c3f98714a36430ff74b1981660cf208211 Mon Sep 17 00:00:00 2001 From: Bruce Marriner Date: Mon, 25 Apr 2016 22:00:30 -0500 Subject: [PATCH] Do not start udp listener if deaf. If you call VoiceChannelJoin and set deaf to true then the library will not start a udp listener --- voice.go | 14 +++++++++----- wsapi.go | 2 ++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/voice.go b/voice.go index b1bbd6d..c0971d2 100644 --- a/voice.go +++ b/voice.go @@ -34,9 +34,11 @@ type VoiceConnection struct { Debug bool // If true, print extra logging Ready bool // If true, voice is ready to send/receive audio + UserID string GuildID string ChannelID string - UserID string + deaf bool + mute bool OpusSend chan []byte // Chan for sending opus audio OpusRecv chan *Packet // Chan for receiving opus audio @@ -356,11 +358,13 @@ func (v *VoiceConnection) wsEvent(messageType int, message []byte) { go v.opusSender(v.udpConn, v.close, v.OpusSend, 48000, 960) // Start the opusReceiver - if v.OpusRecv == nil { - v.OpusRecv = make(chan *Packet, 2) - } + if !v.deaf { + if v.OpusRecv == nil { + v.OpusRecv = make(chan *Packet, 2) + } - go v.opusReceiver(v.udpConn, v.close, v.OpusRecv) + go v.opusReceiver(v.udpConn, v.close, v.OpusRecv) + } // Send the ready event v.connected <- true diff --git a/wsapi.go b/wsapi.go index b048684..4fddeb9 100644 --- a/wsapi.go +++ b/wsapi.go @@ -361,6 +361,8 @@ func (s *Session) ChannelVoiceJoin(gID, cID string, mute, deaf bool) (voice *Voi voice = &VoiceConnection{ GuildID: gID, ChannelID: cID, + deaf: deaf, + mute: mute, session: s, connected: make(chan bool), sessionRecv: make(chan string),