abridged/src/bridge_irc/config.rs

25 lines
486 B
Rust
Raw Normal View History

2023-06-11 02:35:48 +00:00
use std::sync::Arc;
2023-05-24 04:23:36 +00:00
use serde::Deserialize;
2023-05-25 21:38:17 +00:00
const fn default_port() -> u16 { 6667 }
const fn default_tls() -> bool { true }
2023-06-11 02:35:48 +00:00
fn default_suffix() -> Arc<str> {
"[i]".into()
}
2023-05-25 21:38:17 +00:00
2023-05-24 04:23:36 +00:00
#[derive(Clone, Debug, Deserialize)]
pub struct IrcConfig {
pub server: String,
2023-05-25 21:38:17 +00:00
#[serde(default="default_port")]
2023-05-24 04:23:36 +00:00
pub port: u16,
2023-05-25 21:38:17 +00:00
#[serde(default="default_tls")]
2023-05-24 04:23:36 +00:00
pub tls: bool,
pub nick: String,
2023-05-25 21:38:17 +00:00
#[serde(default)]
2023-05-24 04:23:36 +00:00
pub alt_nicks: Vec<String>,
2023-06-11 02:35:48 +00:00
#[serde(default="default_suffix")]
pub suffix: Arc<str>,
2023-05-24 04:23:36 +00:00
}