From 6e3d5097424bf7cd4232c8a3793fc92cb03954a0 Mon Sep 17 00:00:00 2001 From: Leo dev Date: Tue, 6 Jan 2026 20:53:44 +0100 Subject: [PATCH] Fixed sending to the client --- src/requests/voice.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/requests/voice.rs b/src/requests/voice.rs index 54f16e8..924a34d 100644 --- a/src/requests/voice.rs +++ b/src/requests/voice.rs @@ -39,19 +39,22 @@ pub fn leave(server: &Arc, client: &Client, channel_id: &str) -> crate:: pub fn voice(server: &Arc, client: &Client, data: &[u8]) -> crate::Result<()> { let v = server.voice.lock().unwrap(); - let Some((channel_id, voice_id)) = v.find_user(&client.get_uuid()?) else { + let user_id = client.get_uuid()?; + let Some((channel_id, voice_id)) = v.find_user(&user_id) else { return Ok(()); }; - let targets = v.get(&channel_id); + let mut targets = v.get(&channel_id); + + if let Some(pos) = targets.iter().position(|x| *x == &user_id) { + targets.remove(pos); + } let prefix = voice_id.to_le_bytes(); let mut payload = Vec::with_capacity(prefix.len() + data.len()); payload.extend_from_slice(&prefix); payload.extend_from_slice(data); - client.send_bin(&payload)?; - server.broadcast_bin_to(&targets, payload)?; Ok(())