@@ -161,37 +161,30 @@ async fn create_matrix_session(
161161async fn handle_message (
162162 http_client : & HttpClient ,
163163 matrix_client : & MatrixClient ,
164- e : & Raw < AnySyncTimelineEvent > ,
164+ ev : & Raw < AnySyncTimelineEvent > ,
165165 room_id : OwnedRoomId ,
166166 bot_user_id : & UserId ,
167167) -> Result < ( ) , Box < dyn Error > > {
168168 if let Ok ( AnySyncTimelineEvent :: MessageLike ( AnySyncMessageLikeEvent :: RoomMessage (
169169 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
171174 {
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) ;
185182
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 ;
195188 }
196189 }
197190
0 commit comments