public override async Task HandleAsync(
            IUpdateContext context,
            UpdateDelegate next,
            string[] args,
            CancellationToken cancellationToken
            )
        {
            string text = "Привет! Я искусственный интеллект 🤖," +
                          " который помогает разобраться с тем, что такое *Дизайн человека*" +
                          " и как получить чтение своего *бодиграфа*.";

            await context.Bot.Client.SendTextMessageAsync(
                context.Update.Message.Chat.Id,
                text,
                ParseMode.Markdown,
                cancellationToken : cancellationToken
                );

            await Task.Delay(500);

            text = "Что вас интересует?";

            var inlineKeyboard = _inlineMarkupService.GetMarkup();

            await context.Bot.Client.SendTextMessageAsync(
                context.Update.Message.Chat.Id,
                text,
                ParseMode.Markdown,
                cancellationToken : cancellationToken,
                replyMarkup : inlineKeyboard
                );

            await next(context, cancellationToken);
        }
Example #2
0
        private async Task <Message> ProcessCallbackQueryAsync(Telegram.Bot.ITelegramBotClient client, long chatId, int messageId, InlineButtonValue callbackButtonValue)
        {
            var descriptionText = _descriptionTextService.GetDescriptionText(callbackButtonValue);
            var queryButtonText = _inlineMarkupService.GetButtonText(callbackButtonValue);
            var inlineKeyboard  = _inlineMarkupService.GetMarkup(callbackButtonValue);
            var defaultText     = "Что вам интересно?";

            if (callbackButtonValue == InlineButtonValue.IWantToOrder)
            {
                await client.EditMessageReplyMarkupAsync(chatId, messageId, null);

                return(await client.SendTextMessageAsync(chatId, descriptionText, replyMarkup : inlineKeyboard));
            }

            if (callbackButtonValue == InlineButtonValue.IHavePaid)
            {
                await client.EditMessageReplyMarkupAsync(chatId, messageId, null);

                await client.SendTextMessageAsync(chatId, "Спасибо! Теперь свяжитель с Еленой для того чтобы выбрать удобное для вас время.");

                await Task.Delay(2000);

                return(await client.SendTextMessageAsync(chatId, "Отправьте команду /info если хотите увидеть доступные опции снова."));
            }

            var text = string.IsNullOrEmpty(descriptionText) ? defaultText : $"_{queryButtonText}_\n{descriptionText}";

            return(await client.EditMessageTextAsync(
                       chatId,
                       messageId,
                       text,
                       ParseMode.Markdown,
                       replyMarkup : inlineKeyboard
                       ));
        }
        public override async Task HandleAsync(
            IUpdateContext context,
            UpdateDelegate next,
            string[] args,
            CancellationToken cancellationToken
            )
        {
            var text           = "Что вас интересует?";
            var inlineKeyboard = _inlineMarkupService.GetMarkup();

            await context.Bot.Client.SendTextMessageAsync(
                context.Update.Message.Chat.Id,
                text,
                ParseMode.Markdown,
                cancellationToken : cancellationToken,
                replyMarkup : inlineKeyboard
                );

            await next(context, cancellationToken);
        }