use structopt::StructOpt;
#[derive(StructOpt, Debug, Clone, PartialEq)]
#[structopt(name = "base")]
pub struct Config {
#[structopt(short, long)]
pub debug: bool,
#[structopt(short, long)]
pub production: bool,
#[structopt(long, required_unless("help"))]
pub token: String,
#[structopt(long, default_value = "https://api.telegram.org")]
pub url: String,
#[structopt(long, default_value = "")]
pub webhook: String,
#[structopt(long, default_value = "5")]
pub timeout: u64,
#[structopt(long, default_value = "5")]
pub connect_timeout: u64,
#[structopt(long, default_value = "0")]
pub updates_offset: i64,
#[structopt(long, default_value = "100")]
pub updates_limit: i64,
#[structopt(long, default_value = "0")]
pub updates_timeout: u64,
}
impl Config {
pub fn new() -> Self {
Config::from_args()
}
}
impl Default for Config {
fn default() -> Self {
Self {
debug: false,
production: false,
token: String::from(""),
url: String::from(""),
webhook: String::from(""),
timeout: 5u64,
connect_timeout: 5u64,
updates_offset: 0i64,
updates_limit: 100i64,
updates_timeout: 0u64,
}
}
}