예제 #1
0
        public async Task GetAnswerAsync([Remainder] string question)
        {
            var answer = await _wolframService.GetWolframAnswerAsync(question);

            if (!(bool)answer.success || answer.pods.Count < 1)
            {
                var message = "No results.";

                if (answer.tips != null)
                {
                    var node = answer.tips.Count == null ? answer.tips : answer.tips[0];
                    message += $" {(string) node.text}";
                }

                if (answer.didyoumeans != null)
                {
                    var node = answer.didyoumeans.Count == null ? answer.didyoumeans : answer.didyoumeans[0];
                    message += $" Did you mean \"{(string) node.val}\"?";
                }
                await ReplyAsync(message);

                return;
            }

            var query       = (string)answer.pods[0].subpods[0].plaintext;
            var explanation = (string)answer.pods[1].subpods[0].plaintext;

            var embed = new EmbedBuilder()
                        .AddField(query, explanation)
                        .WithColor(BotSettings.Instance.EmbeddedColor)
                        .Build();

            await ReplyAsync(string.Empty, embed : embed);
        }
예제 #2
0
        public async Task GetAnswerAsync([Remainder] string question)
        {
            var answer = await _wolframService.GetWolframAnswerAsync(question);

            if (answer == null)
            {
                await ReplyAsync("No answer found.");

                return;
            }

            var inputPod  = answer.Pods[0];
            var resultPod = answer.Pods[1];
            var embed     = new EmbedBuilder()
                            .AddField(inputPod.Subpods.FirstOrDefault().PlainText, resultPod.Subpods.FirstOrDefault().PlainText)
                            .WithColor(BotSettings.Instance.EmbeddedColor)
                            .Build();

            await ReplyAsync(string.Empty, embed : embed);
        }