Skip to content

Commit 2e0e651

Browse files
committed
fix errors with new version of matrix-sdk
1 parent 9fa9637 commit 2e0e651

File tree

2 files changed

+32
-20
lines changed

2 files changed

+32
-20
lines changed

src/main.rs

+8-3
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,21 @@ async fn main() -> Result<()> {
4545
matrix_pass = args.matrix_pass.unwrap();
4646
matrix_room_id = args.matrix_room_id.unwrap();
4747

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

50-
matrix_client = Some(Client::new_from_user_id(matrix_user_id.clone()).await?);
50+
matrix_client = Some(
51+
Client::builder()
52+
.user_id(matrix_user_id.clone())
53+
.build()
54+
.await?,
55+
);
5156

5257
matrix_client
5358
.clone()
5459
.unwrap()
5560
.login(
5661
matrix_user_id.localpart(),
57-
&matrix_pass,
62+
matrix_pass.as_str(),
5863
Some("Alerter bot"),
5964
None,
6065
)

src/receivers/matrix.rs

+24-17
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
use log::warn;
2-
use std::{
3-
convert::{Infallible, TryFrom},
4-
sync::Arc,
5-
};
2+
use std::{convert::Infallible, sync::Arc};
63

74
use handlebars::Handlebars;
85
use matrix_sdk::{
96
ruma::{
10-
api::client::r0::message::send_message_event,
7+
api::client::message::send_message_event,
118
events::{
12-
room::message::{MessageEventContent, MessageType, TextMessageEventContent},
13-
AnyMessageEventContent,
9+
room::message::{MessageType, RoomMessageEventContent, TextMessageEventContent},
10+
AnyMessageLikeEventContent,
1411
},
15-
identifiers::RoomId,
12+
RoomId, TransactionId,
1613
},
1714
Client,
1815
};
@@ -44,21 +41,31 @@ pub async fn send_message_matrix(
4441
}
4542
};
4643

47-
client
44+
match client
4845
.send(
49-
send_message_event::Request::new(
50-
&RoomId::try_from(room_id).unwrap(),
51-
"1",
52-
&AnyMessageEventContent::RoomMessage(MessageEventContent::new(
46+
match send_message_event::v3::Request::new(
47+
&RoomId::parse(room_id).unwrap(),
48+
&TransactionId::new(),
49+
&AnyMessageLikeEventContent::RoomMessage(RoomMessageEventContent::new(
5350
MessageType::Text(TextMessageEventContent::markdown(msg_text)),
5451
)),
55-
),
52+
) {
53+
Ok(req) => req,
54+
Err(err) => {
55+
warn!("failed to create request: {}", err);
56+
return Ok(StatusCode::INTERNAL_SERVER_ERROR);
57+
}
58+
},
5659
None,
5760
)
5861
.await
59-
.unwrap();
60-
61-
Ok(StatusCode::OK)
62+
{
63+
Ok(_) => Ok(StatusCode::OK),
64+
Err(err) => {
65+
warn!("failed to send message: {}", err);
66+
Ok(StatusCode::INTERNAL_SERVER_ERROR)
67+
}
68+
}
6269
}
6370
None => Ok(StatusCode::SERVICE_UNAVAILABLE),
6471
}

0 commit comments

Comments
 (0)