use std::{collections::HashMap, net::SocketAddr}; use serde::Deserialize; #[derive(Deserialize)] pub struct UberConfig { pub log_level: Option, pub irc: IrcConfig, pub spotify: Option, pub bot: BotConfig, pub web: Option, } #[derive(Deserialize)] pub struct SpotifyConfig { pub client_id: String, pub client_secret: String, } #[derive(Deserialize)] pub struct IrcConfig { pub channels: Vec, pub host: String, pub tls: bool, pub mode: Option, pub nickname: Option, pub port: u16, pub username: String, } #[derive(Deserialize)] pub struct BotConfig { pub db_path: Option, pub history_depth: usize, pub search_limit: Option, pub prefixes: Vec, } #[derive(Deserialize)] pub struct HttpConfig { pub listen: SocketAddr, pub webhooks: HashMap, }