aboutsummaryrefslogtreecommitdiffstats
path: root/src/teamspeak/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/teamspeak/mod.rs')
-rw-r--r--src/teamspeak/mod.rs24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/teamspeak/mod.rs b/src/teamspeak/mod.rs
index 4d31f2e..b53d1d0 100644
--- a/src/teamspeak/mod.rs
+++ b/src/teamspeak/mod.rs
@@ -35,6 +35,15 @@ fn get_message<'a>(event: &Event) -> Option<MusicBotMessage> {
invoker: sender.clone(),
text: msg.clone(),
})),
+ Event::PropertyAdded {
+ id: property,
+ invoker: _,
+ } => match property {
+ PropertyId::Channel(id) => {
+ Some(MusicBotMessage::ChannelCreated(*id))
+ }
+ _ => None,
+ },
Event::PropertyChanged {
id: property,
old: from,
@@ -188,7 +197,7 @@ impl TeamSpeakConnection {
.lock()
.to_mut()
.get_client(&self.conn.lock().own_client)
- .expect("Can get myself")
+ .expect("can get myself")
.set_description(desc)
.map_err(|e| error!("Failed to change description: {}", e)),
);
@@ -204,16 +213,25 @@ impl TeamSpeakConnection {
);
}
- pub fn send_message_to_user(&self, id: ClientId, text: &str) {
+ pub fn send_message_to_user(&self, client: ClientId, text: &str) {
tokio::spawn(
self.conn
.lock()
.to_mut()
- .send_message(MessageTarget::Client(id), text)
+ .send_message(MessageTarget::Client(client), text)
.map_err(|e| error!("Failed to send message: {}", e)),
);
}
+ pub fn subscribe_all(&self) {
+ let packet = self.conn.lock().to_mut().server.set_subscribed(true);
+ tokio::spawn(
+ self.conn
+ .send_packet(packet)
+ .map_err(|e| error!("Failed to send subscribe packet: {}", e)),
+ );
+ }
+
pub fn disconnect(&self, reason: &str) {
let opt = DisconnectOptions::new()
.reason(Reason::Clientdisconnect)