Exemple #1
0
        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?");
            }
        }
Exemple #2
0
        //----------------------------------------------------------------//

        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);
        }