teamspeak-query-lib/src/utils.rs
Tobias Reisinger d8cdc2bb11
All checks were successful
/ build-artifacts (push) Successful in 55s
Add events and refactor
Add event listener with JSON output (WIP)
Add notifier on movement events
Refactor Parameter and ParameterList (still shit)
2024-03-05 03:52:30 +01:00

40 lines
No EOL
1,022 B
Rust

use crate::models::Client;
use crate::parameter::parameters_to_string;
pub fn decode_value(value: &str) -> String {
value
.replace("\\s", " ")
.replace("\\p", "|")
}
pub fn encode_value(value: &str) -> String {
value
.replace(' ', "\\s")
.replace('|', "\\p")
}
pub enum SendTextMessageTarget {
Client(Client),
Channel,
Server,
}
impl From<SendTextMessageTarget> for String {
fn from(value: SendTextMessageTarget) -> Self {
let target_mode = match value {
SendTextMessageTarget::Client(_) => "1",
SendTextMessageTarget::Channel => "2",
SendTextMessageTarget::Server => "3",
};
let target = match value {
SendTextMessageTarget::Client(client) => client.clid.to_string(),
_ => String::from("0"),
};
parameters_to_string(vec![
(String::from("targetmode"), String::from(target_mode)),
(String::from("target"), target)
], " ")
}
}