public async Task Meaning(params string[] words) { Base.Utilities.CheckAvailability(Context.Guild, Program.Module.Linguistic); await p.DoAction(Context.User, Program.Module.Linguistic); var result = await Features.Tools.Linguist.JapaneseTranslate(words); switch (result.error) { case Features.Tools.Error.JapaneseTranslation.Help: await ReplyAsync(Sentences.JapaneseHelp(Context.Guild)); break; case Features.Tools.Error.JapaneseTranslation.NotFound: await ReplyAsync(Sentences.NoJapaneseTranslation(Context.Guild)); break; case Features.Tools.Error.JapaneseTranslation.None: EmbedBuilder embed = new EmbedBuilder() { Color = Color.Blue, Title = string.Join(" ", words) }; int i = 0; foreach (var answer in result.answer) { embed.AddField(string.Join(", ", answer.definition), string.Join(Environment.NewLine, answer.words.Select((Features.Tools.Response.JapaneseWord word) => ((word.word != null) ? (word.word + " - ") : ("")) + ((word.reading != null) ? (word.reading + " (" + word.romaji + ")") : (""))))); if (++i == 5) { break; } } await ReplyAsync("", false, embed.Build()); break; default: throw new NotImplementedException(); } }