summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs37
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