private static async void TelegramBotClientOnOnMessage(object sender, MessageEventArgs e) { if (e?.Message == null) { return; } RequestHistoryRepository.InsertAsync(new RequestHistory(e.Message)); try { await TelegramCommandFactory.CreateCommand(e?.Message).ExecuteAsync(e.Message); } catch (Exception exception) { System.Console.WriteLine(exception); await TelegramBotClient.SendTextMessageAsync(e.Message.Chat.Id, "Ops! something went wrong. 😢🤦♀️ Can you try again?"); } }
//----------------------------------------------------------------// public async Task TestTelegramCommand(String command, Message expectedMessage) { ServiceProviderMock.TryAddServiceMock <ITelegramBotClient>(new BotClientMock().SetupSendMessage(expectedMessage)); TelegramCommandFactory telegramCommandFactory = new TelegramCommandFactory(ServiceProviderMock.Provider); BaseTelegramCommand telegramCommand = telegramCommandFactory.GetTelegramCommand(command); Message inputMessage = new Message() { Text = command, Chat = Chat }; Message resultMessage = null; //assert try { resultMessage = await telegramCommand.ExecuteAsync(inputMessage); } catch (Exception ex) { Console.WriteLine(ex.Message); } Assert.Equal(resultMessage?.Text, expectedMessage.Text); }