Пример #1
0
        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);
            }
        }
Пример #2
0
        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;
        }