diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/src/main.rs b/src/main.rs index e90cacf..749578d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,7 +1,6 @@ -// use redis::IntoConnectionInfo; -// use std::env; +use redis::IntoConnectionInfo; -//mod airdata; +mod airdata; mod auth; mod error; mod client_ext; @@ -11,24 +10,42 @@ use client_ext::ClientExt; mod router; use router::UpdateHandler; -#[tokio::main(flavor = "multi_thread", worker_threads = 5)] -async fn main() -> error::AirceptionResult<()> { +fn main() { + let runtime = tokio::runtime::Builder::new_multi_thread() + .worker_threads(5) + .enable_io() + .build() + .unwrap(); + + runtime.block_on(async_main()).expect("Main errored"); +} + +async fn async_main() -> error::AirceptionResult<()> { dotenv::dotenv().ok(); env_logger::init(); - //let tg_log: Option<i32> = env::var("TG_LOG").ok().and_then(|var| var.parse().ok()); - //let data = airdata::AsyncData::new("redis://127.0.0.1/".into_connection_info()?).await?; + + let data = airdata::AsyncData::new("redis://127.0.0.1/".into_connection_info()?).await?; #[allow(unused)] - let tg = tdlib_rs::ClientBuilder::new(UpdateHandler {}) + let tg = tdlib_rs::ClientBuilder::new(UpdateHandler(data)) .log_level(tdlib_rs::LogLevel::Warn) //.log_file("tg.log") .build(); std::thread::sleep(std::time::Duration::from_secs(1)); - //log::warn!("{:#?}", tg.get_me().await); + log::warn!("{:#?}", tg.get_me().await); log::warn!("{:#?}", tg.get_network_statistics(true).await); + loop { + let auth_state = tg.get_authorization_state().await; + match auth_state { + Ok(client_ext::AuthorizationState::AuthorizationStateReady) => break, + _ => {} + }; + log::info!("{:#?}", auth_state); + std::thread::sleep(std::time::Duration::from_secs(5)); + } /* sleep forever */ std::thread::park(); Ok(()) -} +}
\ No newline at end of file |