diff --git a/src/main.rs b/src/main.rs index 31dba7264a6b06a847649af82bce9afa8841f2af..bff47decec29e2162603b916a33569f4b6ad6d7d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -14,7 +14,7 @@ use matrix_sdk::{ }, UserId, }, - Client, Result, SyncSettings, + Client, LoopCtrl, Result, SyncSettings, RoomInfo, }; use matrix_sdk::ruma::{events::SyncStateEvent, Int, MilliSecondsSinceUnixEpoch}; @@ -77,7 +77,7 @@ async fn main() -> Result<()> { println!("Logged as: {}", alice); // Don't respond to old messages - // client.sync_once(SyncSettings::default()).await?; + client.sync_once(SyncSettings::default()).await?; // https://docs.rs/ruma/0.4.0/ruma/events/enum.AnySyncMessageEvent.html client @@ -85,21 +85,18 @@ async fn main() -> Result<()> { |ev: SyncMessageEvent<MessageEventContent>, room: Room, encryption_info: Option<EncryptionInfo>| async move { - println!("---\nROOM: {:?}\nENC: {:?}\nSME: {:?}", room, encryption_info, ev); + println!( + "---\nROOM: {:?}\nENC: {:?}\nSME: {:?}", + room, encryption_info, ev + ); }, ) .await; - client - .register_event_handler(|ev: SyncStateEvent<TopicEventContent>| async move { - // You can omit any or all arguments after the first. - }) - .await; - // Because we sync once already we must pass the previous sync token - // let settings = SyncSettings::default().token(client.sync_token().await.unwrap()); println!("Entering sync loop"); - // client.sync(settings).await; - client.sync(SyncSettings::default()).await; + let token = client.sync_token().await.unwrap(); + let settings = SyncSettings::default().token(token); + client.sync(settings).await; Ok(()) } Err(e) => panic!(