Adds dog fact

This commit is contained in:
Deukhoofd 2018-11-05 15:21:36 +01:00
parent 4b3ce14075
commit 0d538ad703
No known key found for this signature in database
GPG Key ID: B4C087AC81641654
3 changed files with 16 additions and 10 deletions

View File

@ -1,22 +1,20 @@
using System;
using System.Linq;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace DeukBot4.APIHandlers
{
public static class CatFactsApi
public static class AnimalFactsApi
{
private const string URL = "http://api.levi506.net/";
private const string URL = "https://api.levi506.net/";
public static async Task<string> GetRandomCatFact()
public static async Task<string> GetRandomCatFact(string animal)
{
var client = new HttpClient {BaseAddress = new Uri(URL)};
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync("fact/animal/cat"); // Blocking call!
var response = await client.GetAsync("/v1/fact/animal/" + animal); // Blocking call!
if (!response.IsSuccessStatusCode)
return null;

View File

@ -5,9 +5,9 @@
<LangVersion>7.1</LangVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Discord.Net" Version="2.0.0-beta2-00999" />
<PackageReference Include="Discord.Net" Version="2.0.0-beta2-01018" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
<PackageReference Include="Npgsql" Version="4.0.3" />
<PackageReference Include="StackExchange.Redis" Version="1.2.6" />
<PackageReference Include="StackExchange.Redis" Version="2.0.513" />
</ItemGroup>
</Project>

View File

@ -114,12 +114,20 @@ namespace DeukBot4.MessageHandlers.CommandHandler
}
[Command("catfact", PermissionLevel.Everyone)]
[CommandHelp("Returns a random cat fact", "Returns a random cat fact, powered by https://catfact.ninja/")]
[CommandHelp("Returns a random cat fact", "Returns a random cat fact")]
public async Task RandomCatFact(CommandRequest request)
{
await request.SendSimpleEmbed("Cat Fact", await CatFactsApi.GetRandomCatFact());
await request.SendSimpleEmbed("Cat Fact", await AnimalFactsApi.GetRandomCatFact("cat"));
}
[Command("dogfact", PermissionLevel.Everyone)]
[CommandHelp("Returns a random dog fact", "Returns a random cat fact")]
public async Task RandomDogFact(CommandRequest request)
{
await request.SendSimpleEmbed("Dog Fact", await AnimalFactsApi.GetRandomCatFact("dog"));
}
[Command("catpic", PermissionLevel.Everyone)]
[CommandHelp("Returns a random cat picture", "Returns a random cat picture")]
[CommandParameters(ParameterMatcher.ParameterType.Remainder)]