public async Task <ISearcherResult> SearchAsync(string searchTerm) { await Task.Run(() => { OrdEntry foundWord = null; foreach (var word in Resources.RuntimeData.FolketsOrdbok.Words) { if (word.Grundform == searchTerm) { foundWord = word; } } LastResult = new FolketsOrdbokResult(searchTerm, foundWord); }); return(LastResult); }
private async Task SearchAsync(CommandContext ctx, ISearcherAsync searcher) { string searchTerm = ctx.RawArgumentString; if (searchTerm == null) { await ctx.RespondAsync("Du måste ange ett sökord."); return; } searchTerm = searchTerm.TrimStart(); // Show typing response whilst searching. await ctx.TriggerTypingAsync(); ISearcherResult result = null; try { result = await searcher.SearchAsync(searchTerm); } catch (Exception ex) { await ctx.RespondAsync(ex); } if (result != null) { result.GetEmbedsFromSearchResult(ctx.Client).ForEach(async e => { try { await ctx.RespondAsync(embed: e); } catch (Exception ex) { ctx.Client.DebugLogger.LogMessage(LogLevel.Error, "Command", ex.Message, DateTime.Now); await ctx.RespondAsync(ex); } }); } }