From 0c75c63c9aef7e885ed90f3f1a3989849af80949 Mon Sep 17 00:00:00 2001 From: Jokler Date: Fri, 2 Oct 2020 16:06:01 +0200 Subject: Use channel specific subscribe over server wide --- src/teamspeak/mod.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src/teamspeak') diff --git a/src/teamspeak/mod.rs b/src/teamspeak/mod.rs index 4d7c840..beb3f44 100644 --- a/src/teamspeak/mod.rs +++ b/src/teamspeak/mod.rs @@ -300,16 +300,18 @@ impl TeamSpeakConnection { .unwrap() } - pub async fn subscribe_all(&mut self) { + pub async fn subscribe(&mut self, id: ChannelId) { self.handle .with_connection(move |mut conn| { - if let Err(e) = conn - .get_state() - .expect("can get state") - .server - .set_subscribed(true) - .send(&mut conn) - { + let channel = match conn.get_state().expect("can get state").channels.get(&id) { + Some(c) => c, + None => { + error!("Failed to find channel to subscribe to"); + return; + } + }; + + if let Err(e) = channel.set_subscribed(true).send(&mut conn) { error!("Failed to send subscribe packet: {}", e); } }) -- cgit v1.2.3-70-g09d2