Esempio n. 1
0
        public IEnumerable <string> Handle(string input, Match match, IListener listener)
        {
            var query = input;

            if (match.Groups[1].Value == "wolfram")
            {
                query = match.Groups[2].Value;
            }
            var engine = new WolframAlphaEngine(AppId);
            var result = engine.GetWolframAlphaQueryResult(engine.GetStringRequest(new WolframAlphaQuery()
            {
                Query  = query,
                APIKey = AppId
            }));

            if (!result.Success)
            {
                yield return("");
            }
            var r                 = "";
            var answerPod         = result.Pods.FirstOrDefault(o => o.Title.ToLower().Contains("result"));
            var interpretationPod = result.Pods.FirstOrDefault(o => o.Title.ToLower().Contains("input interpretation"));

            if (answerPod == null || interpretationPod == null)
            {
                yield return("");
            }

            var interpretation = interpretationPod.SubPods[0].PodText.Replace(" |", "'s").UppercaseFirst();
            var answer         = answerPod.SubPods[0].PodText.RemoveExtraSpaces().Trim();

            yield return(("{0} is {1}".Template(interpretation, answer)).Replace("\n", " "));
        }
Esempio n. 2
0
        public Wolfram(string query)
        {
            var url = "http://api.wolframalpha.com/v2/query?input={0}&appid=2PWVJ9-9XEHHYT93V".Template(query);
            var doc = new XmlDocument();
            doc.LoadXml(new BrowserClient().DownloadString(url));
            Result = "I have no idea.";
            Images = new List<string>();
            foreach (XmlNode node in doc.SelectNodes("//pod/subpod/img"))
            {
                Images.Add(node.Attributes["src"].Value);
            }
            try
            {
                Result = doc.SelectSingleNode("//pod[@title='Result']/subpod/plaintext").InnerText;
            }
            catch
            {
            }

            var engine = new WolframAlphaEngine(AppId);
            var result = engine.GetWolframAlphaQueryResult(engine.GetStringRequest(new WolframAlphaQuery()
                {
                    Query = query,
                    APIKey = AppId
                }));
        }
Esempio n. 3
0
        public Wolfram(string query)
        {
            var url = "http://api.wolframalpha.com/v2/query?input={0}&appid=2PWVJ9-9XEHHYT93V".Template(query);
            var doc = new XmlDocument();

            doc.LoadXml(new BrowserClient().DownloadString(url));
            Result = "I have no idea.";
            Images = new List <string>();
            foreach (XmlNode node in doc.SelectNodes("//pod/subpod/img"))
            {
                Images.Add(node.Attributes["src"].Value);
            }
            try
            {
                Result = doc.SelectSingleNode("//pod[@title='Result']/subpod/plaintext").InnerText;
            }
            catch
            {
            }

            var engine = new WolframAlphaEngine(AppId);
            var result = engine.GetWolframAlphaQueryResult(engine.GetStringRequest(new WolframAlphaQuery()
            {
                Query  = query,
                APIKey = AppId
            }));
        }
Esempio n. 4
0
        public IEnumerable<string> Handle(string input, Match match, IListener listener)
        {
            var query = input;
            if (match.Groups[1].Value == "wolfram")
                query = match.Groups[2].Value;
            var engine = new WolframAlphaEngine(AppId);
            var result = engine.GetWolframAlphaQueryResult(engine.GetStringRequest(new WolframAlphaQuery()
            {
                Query = query,
                APIKey = AppId
            }));
            if (!result.Success)
                yield return "";
            var r = "";
            var answerPod = result.Pods.FirstOrDefault(o => o.Title.ToLower().Contains("result"));
            var interpretationPod = result.Pods.FirstOrDefault(o => o.Title.ToLower().Contains("input interpretation"));
            if (answerPod == null || interpretationPod == null)
                yield return "";

            var interpretation = interpretationPod.SubPods[0].PodText.Replace(" |", "'s").UppercaseFirst();
            var answer = answerPod.SubPods[0].PodText.RemoveExtraSpaces().Trim();

            yield return ("{0} is {1}".Template(interpretation, answer)).Replace("\n", " ");
        }