use clap::Parser;
#[derive(Parser, Debug)]
#[command(version, about, long_about = None)]
pub struct CliArgs {
#[command(flatten)]
telegram_cli: TelegramCli,
}
impl CliArgs {
pub fn telegram_cli(&self) -> &TelegramCli {
&self.telegram_cli
}
}
#[derive(Parser, Debug)]
pub struct TelegramCli {
#[arg(
short,
long,
visible_alias = "lo",
help = "Logout from the tgt",
default_value_t = false
)]
logout: bool,
#[arg(
short,
long,
visible_alias = "sm",
number_of_values = 2,
value_names = &["CHAT_NAME", "MESSAGE"],
help = "Send a message to a chat"
)]
send_message: Option<Vec<String>>,
}
impl TelegramCli {
pub fn logout(&self) -> bool {
self.logout
}
pub fn send_message(&self) -> Option<&Vec<String>> {
self.send_message.as_ref()
}
}