matrix: Update matrix-sdk to 0.6.2

This commit is contained in:
George Kaklamanos 2023-11-16 19:26:22 +02:00
parent 9144f5d8ed
commit fe34027edc
No known key found for this signature in database
GPG key ID: C0CAB8A6BDC9399D
2 changed files with 21 additions and 11 deletions

View file

@ -5,7 +5,7 @@ edition = "2021"
license = "AGPL-3.0-or-later" license = "AGPL-3.0-or-later"
[dependencies] [dependencies]
matrix-sdk = { version = "0.4.1", features = ["encryption"] } matrix-sdk = "0.6.2"
tokio = { version = "1.12.0", features = ["rt-multi-thread", "macros"] } tokio = { version = "1.12.0", features = ["rt-multi-thread", "macros"] }
[target.armv7-unknown-linux-musleabihf.dependencies] [target.armv7-unknown-linux-musleabihf.dependencies]

View file

@ -1,8 +1,14 @@
use std::convert::TryFrom;
use matrix_sdk::{ use matrix_sdk::{
Client, SyncSettings, config::SyncSettings,
ruma::{UserId, events::{SyncMessageEvent, room::message::{MessageEventContent, MessageType, TextMessageEventContent,}}},
room::Room, room::Room,
ruma::{
events::room::message::{
MessageType, OriginalSyncRoomMessageEvent, RoomMessageEventContent,
TextMessageEventContent,
},
UserId,
},
Client,
}; };
fn open(param: String) { fn open(param: String) {
@ -14,7 +20,7 @@ fn open(param: String) {
io::stdout().write_all(&out.stdout).unwrap(); io::stdout().write_all(&out.stdout).unwrap();
} }
async fn on_room_message(event: SyncMessageEvent<MessageEventContent>, room: Room) { async fn on_room_message(event: OriginalSyncRoomMessageEvent, room: Room) {
if let Room::Joined(room) = room { if let Room::Joined(room) = room {
let msg_body = match event.content.msgtype { let msg_body = match event.content.msgtype {
MessageType::Text(TextMessageEventContent { body, .. }) => body, MessageType::Text(TextMessageEventContent { body, .. }) => body,
@ -23,11 +29,11 @@ async fn on_room_message(event: SyncMessageEvent<MessageEventContent>, room: Roo
if msg_body == "1" { if msg_body == "1" {
open(event.sender.to_string()); 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(); room.send(content, None).await.unwrap();
} }
if msg_body == "ping" { if msg_body == "ping" {
let content = MessageEventContent::text_plain("Pong!"); let content = RoomMessageEventContent::text_plain("Pong!");
room.send(content, None).await.unwrap(); room.send(content, None).await.unwrap();
} }
} }
@ -35,12 +41,16 @@ async fn on_room_message(event: SyncMessageEvent<MessageEventContent>, room: Roo
#[tokio::main] #[tokio::main]
pub async fn matrix(username: String, password: String) { pub async fn matrix(username: String, password: String) {
let user = UserId::try_from(username).unwrap(); let user = <&UserId>::try_from(username.as_str()).unwrap();
let client = Client::new_from_user_id(user.clone()).await.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.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()); let settings = SyncSettings::default().token(client.sync_token().await.unwrap());
client.sync(settings).await; client.sync(settings).await;
} }