Skip to content

Commit

Permalink
fix errors with new version of matrix-sdk
Browse files Browse the repository at this point in the history
  • Loading branch information
ultram4rine committed May 30, 2022
1 parent 9fa9637 commit 2e0e651
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 20 deletions.
11 changes: 8 additions & 3 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,21 @@ async fn main() -> Result<()> {
matrix_pass = args.matrix_pass.unwrap();
matrix_room_id = args.matrix_room_id.unwrap();

let matrix_user_id = UserId::try_from(matrix_user)?;
let matrix_user_id = <&UserId>::try_from(matrix_user.as_str())?;

matrix_client = Some(Client::new_from_user_id(matrix_user_id.clone()).await?);
matrix_client = Some(
Client::builder()
.user_id(matrix_user_id.clone())
.build()
.await?,
);

matrix_client
.clone()
.unwrap()
.login(
matrix_user_id.localpart(),
&matrix_pass,
matrix_pass.as_str(),
Some("Alerter bot"),
None,
)
Expand Down
41 changes: 24 additions & 17 deletions src/receivers/matrix.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
use log::warn;
use std::{
convert::{Infallible, TryFrom},
sync::Arc,
};
use std::{convert::Infallible, sync::Arc};

use handlebars::Handlebars;
use matrix_sdk::{
ruma::{
api::client::r0::message::send_message_event,
api::client::message::send_message_event,
events::{
room::message::{MessageEventContent, MessageType, TextMessageEventContent},
AnyMessageEventContent,
room::message::{MessageType, RoomMessageEventContent, TextMessageEventContent},
AnyMessageLikeEventContent,
},
identifiers::RoomId,
RoomId, TransactionId,
},
Client,
};
Expand Down Expand Up @@ -44,21 +41,31 @@ pub async fn send_message_matrix(
}
};

client
match client
.send(
send_message_event::Request::new(
&RoomId::try_from(room_id).unwrap(),
"1",
&AnyMessageEventContent::RoomMessage(MessageEventContent::new(
match send_message_event::v3::Request::new(
&RoomId::parse(room_id).unwrap(),
&TransactionId::new(),
&AnyMessageLikeEventContent::RoomMessage(RoomMessageEventContent::new(
MessageType::Text(TextMessageEventContent::markdown(msg_text)),
)),
),
) {
Ok(req) => req,
Err(err) => {
warn!("failed to create request: {}", err);
return Ok(StatusCode::INTERNAL_SERVER_ERROR);
}
},
None,
)
.await
.unwrap();

Ok(StatusCode::OK)
{
Ok(_) => Ok(StatusCode::OK),
Err(err) => {
warn!("failed to send message: {}", err);
Ok(StatusCode::INTERNAL_SERVER_ERROR)
}
}
}
None => Ok(StatusCode::SERVICE_UNAVAILABLE),
}
Expand Down

0 comments on commit 2e0e651

Please sign in to comment.