use crate::{runner::Capabilities, twitch::Color};
#[derive(Debug, Clone)]
pub enum Identity {
Anonymous {
caps: Capabilities,
},
Basic {
name: String,
caps: Capabilities,
},
Full {
name: String,
user_id: i64,
display_name: Option<String>,
color: Color,
caps: Capabilities,
},
}
impl Identity {
pub fn username(&self) -> &str {
let (nick, _) = crate::ANONYMOUS_LOGIN;
match self {
Self::Anonymous { .. } => nick,
Self::Basic { name, .. } | Self::Full { name, .. } => &*name,
}
}
}