@@ -32,6 +32,7 @@ public class TelegramBot : BaseBot<TelegramBot>
3232 private readonly IBotDataAccess _data ;
3333 private readonly IBotUpdateHandler _handler ;
3434 private readonly ITextTransformer _textTransformer ;
35+ private bool _handlerLoaded = false ;
3536 protected readonly ITelegramBotClient Client ;
3637
3738 // ReSharper disable once MemberCanBeProtected.Global
@@ -512,13 +513,16 @@ protected override Task<StartBotResponse> InnerStartBotAsync(StartBotRequest req
512513 BotStatusKeeper . IsStarted = true ;
513514
514515 // Rethrowing events from BotUpdateHandler
515- _handler . MessageReceived += ( sender , e )
516+ if ( ! _handlerLoaded )
517+ {
518+ _handler . MessageReceived += ( sender , e )
516519 => MessageReceived ? . Invoke ( sender , e ) ;
517- _handler . ContactShared += ( sender , e )
518- => ContactShared ? . Invoke ( sender , e ) ;
519- _handler . NewChatMembers += ( sender , e )
520- => NewChatMembers ? . Invoke ( sender , e ) ;
521-
520+ _handler . ContactShared += ( sender , e )
521+ => ContactShared ? . Invoke ( sender , e ) ;
522+ _handler . NewChatMembers += ( sender , e )
523+ => NewChatMembers ? . Invoke ( sender , e ) ;
524+ _handlerLoaded = true ;
525+ }
522526 Client . StartReceiving ( _handler , cancellationToken : token ) ;
523527
524528 Logger . LogInformation ( $ "{ nameof ( StartBotAsync ) } : started") ;
0 commit comments