From ab597b09e887f610aa651513ba0d7e5c72f1c113 Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Sun, 12 Dec 2021 20:52:58 +0100 Subject: [PATCH] Don't re-handle already seem messages --- src/main.rs | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/main.rs b/src/main.rs index 31dba72..bff47de 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!( -- GitLab