From fe34027edcd775d6e15ff88fad32628483ec70ff Mon Sep 17 00:00:00 2001 From: George Kaklamanos Date: Thu, 16 Nov 2023 19:26:22 +0200 Subject: [PATCH] matrix: Update matrix-sdk to 0.6.2 --- labadoor-matrix/Cargo.toml | 2 +- labadoor-matrix/src/lib.rs | 30 ++++++++++++++++++++---------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/labadoor-matrix/Cargo.toml b/labadoor-matrix/Cargo.toml index 6925db4..5ef614d 100644 --- a/labadoor-matrix/Cargo.toml +++ b/labadoor-matrix/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" license = "AGPL-3.0-or-later" [dependencies] -matrix-sdk = { version = "0.4.1", features = ["encryption"] } +matrix-sdk = "0.6.2" tokio = { version = "1.12.0", features = ["rt-multi-thread", "macros"] } [target.armv7-unknown-linux-musleabihf.dependencies] diff --git a/labadoor-matrix/src/lib.rs b/labadoor-matrix/src/lib.rs index 5a4fc06..e1d5223 100644 --- a/labadoor-matrix/src/lib.rs +++ b/labadoor-matrix/src/lib.rs @@ -1,8 +1,14 @@ -use std::convert::TryFrom; use matrix_sdk::{ - Client, SyncSettings, - ruma::{UserId, events::{SyncMessageEvent, room::message::{MessageEventContent, MessageType, TextMessageEventContent,}}}, + config::SyncSettings, room::Room, + ruma::{ + events::room::message::{ + MessageType, OriginalSyncRoomMessageEvent, RoomMessageEventContent, + TextMessageEventContent, + }, + UserId, + }, + Client, }; fn open(param: String) { @@ -14,7 +20,7 @@ fn open(param: String) { io::stdout().write_all(&out.stdout).unwrap(); } -async fn on_room_message(event: SyncMessageEvent, room: Room) { +async fn on_room_message(event: OriginalSyncRoomMessageEvent, room: Room) { if let Room::Joined(room) = room { let msg_body = match event.content.msgtype { MessageType::Text(TextMessageEventContent { body, .. }) => body, @@ -23,11 +29,11 @@ async fn on_room_message(event: SyncMessageEvent, room: Roo if msg_body == "1" { open(event.sender.to_string()); - let content = MessageEventContent::text_plain("Open sesame!"); + let content = RoomMessageEventContent::text_plain("Open sesame!"); room.send(content, None).await.unwrap(); } if msg_body == "ping" { - let content = MessageEventContent::text_plain("Pong!"); + let content = RoomMessageEventContent::text_plain("Pong!"); room.send(content, None).await.unwrap(); } } @@ -35,12 +41,16 @@ async fn on_room_message(event: SyncMessageEvent, room: Roo #[tokio::main] pub async fn matrix(username: String, password: String) { - let user = UserId::try_from(username).unwrap(); - let client = Client::new_from_user_id(user.clone()).await.unwrap(); + let user = <&UserId>::try_from(username.as_str()).unwrap(); + let client = Client::builder() + .server_name(user.server_name()) + .build() + .await + .unwrap(); + client.login_username(user, &password).send().await.unwrap(); - client.login(user.localpart(), &password, None, None).await.unwrap(); client.sync_once(SyncSettings::default()).await.unwrap(); - client.register_event_handler(on_room_message).await; + client.add_event_handler(on_room_message); let settings = SyncSettings::default().token(client.sync_token().await.unwrap()); client.sync(settings).await; }