public async Task HandleAsync(IUpdateContext context, UpdateDelegate next, CancellationToken cancellationToken) { long chatId = GetChatIdFromUpdate(context.Update); var hasUncollectedData = _reviewCacheService.HasUnfinishedReview(chatId); if (context.Update.Type != UpdateType.CallbackQuery && hasUncollectedData && String.IsNullOrEmpty(context.Update.Message.Text)) { await context.Bot.Client.SendTextMessageAsync( chatId, "Схоже що ви відправили щось не те 😒\nБудь ласка, відправте *текстовим повідомленням* нам свій відгук стосовно обслуговування у нашій клініці." ); } else { await next(context, cancellationToken); } }
public async Task ProcessRequest(IUpdateContext context, CancellationToken cancellationToken = default) { Message message = context.Update.Message; if (string.IsNullOrEmpty(message.Text)) { return; } var reg = _regRepository.Get(message.Chat.Id); if (reg == null) { await _authorizationService.AuthorizeUser(message.Chat); } else if (_reviewCacheService.HasUnfinishedReview(message.Chat.Id)) { _reviewCacheService.AddReviewText(message.Chat.Id, message.Text); await context.Bot.Client.SendTextMessageAsync( message.Chat.Id, "Дякуємо за відгук!", ParseMode.Markdown ); await context.Bot.Client.SendTextMessageAsync( message.Chat.Id, ValeoKeyboardsService.DefaultKeyboard.Message, ParseMode.Markdown, replyMarkup : ValeoKeyboardsService.DefaultKeyboard.Markup ); } else { await context.Bot.Client.SendTextMessageAsync( message.Chat.Id, ValeoKeyboardsService.DefaultKeyboard.Message, ParseMode.Markdown, replyMarkup : ValeoKeyboardsService.DefaultKeyboard.Markup ); } return; }