@@ -161,37 +161,30 @@ async fn create_matrix_session(
161
161
async fn handle_message (
162
162
http_client : & HttpClient ,
163
163
matrix_client : & MatrixClient ,
164
- e : & Raw < AnySyncTimelineEvent > ,
164
+ ev : & Raw < AnySyncTimelineEvent > ,
165
165
room_id : OwnedRoomId ,
166
166
bot_user_id : & UserId ,
167
167
) -> Result < ( ) , Box < dyn Error > > {
168
168
if let Ok ( AnySyncTimelineEvent :: MessageLike ( AnySyncMessageLikeEvent :: RoomMessage (
169
169
SyncMessageLikeEvent :: Original ( m) ,
170
- ) ) ) = e. deserialize ( )
170
+ ) ) ) = ev. deserialize ( )
171
+ // workaround because Conduit does not implement filtering
172
+ && m. sender != bot_user_id
173
+ && let MessageType :: Text ( t) = m. content . msgtype
171
174
{
172
- // workaround because Conduit does not implement filtering.
173
- if m. sender == bot_user_id {
174
- return Ok ( ( ) ) ;
175
- }
176
-
177
- if let MessageType :: Text ( t) = m. content . msgtype {
178
- println ! ( "{}:\t {}" , m. sender, t. body) ;
179
- if t. body . to_ascii_lowercase ( ) . contains ( "joke" ) {
180
- let joke = match get_joke ( http_client) . await {
181
- Ok ( joke) => joke,
182
- Err ( _) => "I thought of a joke... but I just forgot it." . to_owned ( ) ,
183
- } ;
184
- let joke_content = RoomMessageEventContent :: text_plain ( joke) ;
175
+ println ! ( "{}:\t {}" , m. sender, t. body) ;
176
+ if t. body . to_ascii_lowercase ( ) . contains ( "joke" ) {
177
+ let joke = match get_joke ( http_client) . await {
178
+ Ok ( joke) => joke,
179
+ Err ( _) => "I thought of a joke... but I just forgot it." . to_owned ( ) ,
180
+ } ;
181
+ let joke_content = RoomMessageEventContent :: text_plain ( joke) ;
185
182
186
- let txn_id = TransactionId :: new ( ) ;
187
- let req = send_message_event:: v3:: Request :: new (
188
- room_id. to_owned ( ) ,
189
- txn_id,
190
- & joke_content,
191
- ) ?;
192
- // Do nothing if we can't send the message.
193
- let _ = matrix_client. send_request ( req) . await ;
194
- }
183
+ let txn_id = TransactionId :: new ( ) ;
184
+ let req =
185
+ send_message_event:: v3:: Request :: new ( room_id. to_owned ( ) , txn_id, & joke_content) ?;
186
+ // Do nothing if we can't send the message.
187
+ let _ = matrix_client. send_request ( req) . await ;
195
188
}
196
189
}
197
190
0 commit comments