From 278bae953a536898581073cf79bc3e87fec1043d Mon Sep 17 00:00:00 2001 From: George Kaklamanos Date: Sat, 18 Nov 2023 20:15:04 +0200 Subject: [PATCH] matrix: Add handler for accepting invitations --- labadoor-matrix/src/lib.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/labadoor-matrix/src/lib.rs b/labadoor-matrix/src/lib.rs index 0c4cf2f..0886d41 100644 --- a/labadoor-matrix/src/lib.rs +++ b/labadoor-matrix/src/lib.rs @@ -3,8 +3,9 @@ use matrix_sdk::{ room::Room, ruma::{ events::{ + room::member::RoomMemberEventContent, room::message::{MessageType, RoomMessageEventContent, TextMessageEventContent}, - OriginalSyncMessageLikeEvent, + OriginalSyncMessageLikeEvent, StrippedStateEvent, }, UserId, }, @@ -46,6 +47,15 @@ async fn on_room_message( } } +async fn on_room_invite(event: StrippedStateEvent, room: Room) { + use matrix_sdk::ruma::events::room::member::MembershipState::Invite; + if event.content.membership == Invite { + if let Room::Invited(r) = room { + r.accept_invitation().await.unwrap(); + } + } +} + async fn client_login(username: String, password: String, device_id: Option) -> Client { let user = <&UserId>::try_from(username.as_str()).unwrap(); let client = Client::builder() @@ -74,5 +84,6 @@ pub async fn matrix(username: String, password: String, device_id: Option