Skip to content

Commit 7b7b2ef

Browse files
committed
Fix many StartWith handler
1 parent 5507912 commit 7b7b2ef

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

Telegram.Net/Services/TelegramHostedService.cs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)