public async Task Fact([Remainder] string animal = null) { if (animal == null) { await ReplyAsync($"Possible animal facts are: **dog**, **cat**, **panda**, **fox**, **bird**, **koala**, **racoon**, **kangaroo**, **elephant**, **giraffe**, or **whale**."); return; } else { RandomFact randomFact = null; //Removes Slashes to prevent Link issues animal = animal.Replace("/", ""); animal = animal.Replace(@"\", ""); using (WebClient webClient = new WebClient()) { try { webClient.UseDefaultCredentials = true; string json = webClient.DownloadString("https://some-random-api.ml/facts/" + animal); randomFact = JsonConvert.DeserializeObject <RandomFact>(json); } catch (Exception ex) { await ReplyAsync($"That animal does not exist in the API. Please use: **dog**, **cat**, **panda**, **fox**, **bird**, **koala**, **racoon**, **kangaroo**, **elephant**, **giraffe**, or **whale**. If this problem persists, the API doesn't work."); Console.WriteLine(ex); } } var bytes = Encoding.Default.GetBytes(randomFact.factText); //Fixes ’ in the original string from the API (kind of annoying) var factEncoded = Encoding.UTF8.GetString(bytes); Random random = new Random(); int redRnd = random.Next(0, 255); Random random2 = new Random(); int greenRnd = random.Next(0, 255); Random random3 = new Random(); int blueRnd = random.Next(0, 255); var auth = new EmbedAuthorBuilder() { Name = $"Random {char.ToUpper(animal[0])}{animal.Substring(1)} Fact", }; var embed = new EmbedBuilder() { Color = new Color(redRnd, greenRnd, blueRnd), Author = auth, Description = factEncoded, }; await ReplyAsync("", false, embed.Build()); } }
public async Task GetRandomFactAsync(string url) { HttpClient client = new HttpClient(); client.BaseAddress = new Uri(url); var response = await client.GetAsync(client.BaseAddress); response.EnsureSuccessStatusCode(); var JsonResult = response.Content.ReadAsStringAsync().Result; RandomFact randomfact = JsonConvert.DeserializeObject <RandomFact>(JsonResult); SetValues(randomfact); }
private void SetValues(RandomFact randomfact) { var text = randomfact.text; var permalink = randomfact.permalink; var source_url = randomfact.source_url; var language = randomfact.language; var source = randomfact.source; Text = text; PermaLink = permalink; SourceURL = source_url; Language = language; Source = source; }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } RandomFact = await _context.RandomFact.FirstOrDefaultAsync(m => m.RandomFactId == id); if (RandomFact == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } RandomFact = await _context.RandomFact.FindAsync(id); if (RandomFact != null) { _context.RandomFact.Remove(RandomFact); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public async Task <ActionResult <RandomFact> > UpdateRandomFact(Guid id) { var account = _context.Accounts.Find(id); if (account == null) { return(NotFound("No account find with this id")); } var fact = await RandomFact.GetFact(); if (fact == null) { return(BadRequest("New fact: Something went wrong (This is a error message)")); } account.RandomFact = fact.Data; _context.SaveChanges(); return(Ok(fact)); }