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", " ")); }
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 })); }
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 })); }
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", " "); }