public async Task InlineQuery(InlineQuery inlineQuery) { var userId = inlineQuery.From.Id; var q = inlineQuery.Query; if (!_checker.AllowUser(userId)) { return; } if (q.Length > MaxInlineQueryLength) { return; } if (!_repository.IsUserExist(userId)) { _repository.AddUser(new Bot.Rest.Model.User { IdUser = userId, Name = $"{inlineQuery.From.FirstName} {inlineQuery.From.LastName}", Mode = EGettingWordsStrategy.Random.ToString() }); } WordSearchResult[] results; // ReSharper disable once ConvertIfStatementToConditionalTernaryExpression if (q.Any()) { results = _repository.FindFlashCard(q, userId).ToArray(); } else { results = _repository.GetLastWords(userId, MaxInlineSearchResult).ToArray(); } if (!results.Any()) { await _client.AnswerInlineQueryAsync(inlineQuery.Id, new InlineQueryResultBase[] { new InlineQueryResultArticle(inlineQuery.Id, "Please, type a chinese word to view it's flashcard", new InputTextMessageContent("Still can't show you a flashcard") { DisableWebPagePreview = true, ParseMode = ParseMode.Default }) }); _checker.UserQueryProcessed(userId); return; } var inlineQueryResults = results.Select( a => new InlineQueryResultPhoto(Guid.NewGuid().ToString(), _flashCardUrl + a.File.Id, _flashCardUrl + a.File.Id) { Caption = a.OriginalWord, PhotoHeight = a.File.Height, PhotoWidth = a.File.Width }); await _client.AnswerInlineQueryAsync(inlineQuery.Id, inlineQueryResults.ToArray(), 0); _checker.UserQueryProcessed(userId); }