@@ -169,19 +169,29 @@ internal async Task UpdateHandler(ITelegramBotClient client, Update update, Canc
169169 switch ( update )
170170 {
171171 case { Message : { } message } :
172- await CommandHandler . FirstOrDefault ( k => message . Text ! . StartsWith ( k . Key ) )
173- . Value ( client , message , ctx ) ;
172+ CommandHandler . Where ( k => message . Text ! . StartsWith ( k . Key ) ) . Select ( async k =>
173+ {
174+ await k . Value ( client , message , ctx ) ;
175+ return k ;
176+ } ) ;
174177 break ;
175178 case { EditedMessage : { } message } :
176179 EditedMessageHandler . ForEach ( async k => await k ( client , message , ctx ) ) ;
177180 break ;
178181 case { CallbackQuery : { } callbackQuery } :
179- await CallbackQueryHandler . FirstOrDefault ( k => callbackQuery . Data ! . StartsWith ( k . Key ) )
180- . Value ( client , callbackQuery , ctx ) ;
182+ CallbackQueryHandler . Where ( k => callbackQuery . Data ! . StartsWith ( k . Key ) )
183+ . Select ( async k =>
184+ {
185+ await k . Value ( client , callbackQuery , ctx ) ;
186+ return k ;
187+ } ) ;
181188 break ;
182189 case { InlineQuery : { } inlineQuery } :
183- await InlineHandler . FirstOrDefault ( k => inlineQuery . Id . StartsWith ( k . Key ) )
184- . Value ( client , inlineQuery , ctx ) ;
190+ InlineHandler . Where ( k => inlineQuery . Id . StartsWith ( k . Key ) ) . Select ( async k =>
191+ {
192+ await k . Value ( client , inlineQuery , ctx ) ;
193+ return k ;
194+ } ) ;
185195 break ;
186196 case { PreCheckoutQuery : { } preCheckoutQuery } :
187197 if ( PreCheckoutHandler != null ) await PreCheckoutHandler ( client , preCheckoutQuery , ctx ) ;
0 commit comments