diff options
Diffstat (limited to 'src/router.rs')
-rw-r--r-- | src/router.rs | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/router.rs b/src/router.rs index f98be7d..ec3835e 100644 --- a/src/router.rs +++ b/src/router.rs @@ -3,8 +3,8 @@ use log::{debug, error, info}; use serde_json::Value as JsonValue; use crate::client_ext::Update; -#[derive(Debug)] -pub struct UpdateHandler(); //pub crate::airdata::AsyncData); +#[derive(Clone)] +pub struct UpdateHandler(pub crate::airdata::AsyncData); impl tdlib_rs::update::Handler for UpdateHandler { fn handle_json( @@ -14,7 +14,7 @@ impl tdlib_rs::update::Handler for UpdateHandler { ) -> futures::future::BoxFuture<'static, ()> { //let data = self.0.clone(); Box::pin(async move { - let update: Update = serde_json::from_value(req).expect("invalid update"); + let update: Update = serde_json::from_value(req.clone()).map_err(|err| error!("going to panic: invalid update: {:?} {:?}", req, err)).expect("invalid update"); match update { Update::UpdateAuthorizationState(state) => { if let Err(e) = crate::auth::continue_auth(&client, state.authorization_state).await { @@ -33,19 +33,21 @@ impl tdlib_rs::update::Handler for UpdateHandler { }*/ Update::UpdateConnectionState(upd) => { info!("connection: {:?}", upd.state); - } /* - UpdateUser(update) => { - let id = update.user.id; - let _ = data.insert_user(update.user).await; - info!("update user {}", data.get_username_lossy(id).await); } - UpdateUserStatus(update) => { - info!( - "{} is now {:?}", - data.get_username_lossy(update.user_id).await, - update.status - ); + Update::UpdateUser(update) => { + //let id = update.user.id; + let name = format!("{}{}", update.user.first_name, update.user.last_name); + info!("update user: {}, status: {}", name, update.user.status); + //let _ = data.insert_user(update.user).await; + //info!("update user {}", data.get_username_lossy(id).await); } + Update::UpdateUserStatus(update) => { + info!( + "{} is now {}", + //data.get_username_lossy(update.user_id).await, + update.user_id, update.status + ); + }/* UpdateNewChat(update) => { let chat = update.chat; info!("new chat: {}", chat.title); @@ -71,7 +73,7 @@ impl tdlib_rs::update::Handler for UpdateHandler { update.file.size ); }*/ - _ => debug!("unknown update: {:?}", update), + _ => {} //debug!("unknown update: {:?}", update), } }) } |