Added cat pics because cat pics are a must have feature
This commit is contained in:
parent
32fa37b633
commit
a83d56f1b7
|
@ -0,0 +1,31 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Discord;
|
||||
|
||||
namespace DeukBot4.APIHandlers
|
||||
{
|
||||
public class CatPicHandler
|
||||
{
|
||||
private const string URL = "https://cataas.com";
|
||||
|
||||
public static async Task<Stream> GetCatPicture(string saying = null)
|
||||
{
|
||||
var fullUrl = "/cat";
|
||||
if (saying != null)
|
||||
fullUrl += "/says/" + HttpUtility.UrlPathEncode(saying);
|
||||
|
||||
var client = new HttpClient {BaseAddress = new Uri(URL)};
|
||||
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
|
||||
var response = await client.GetAsync(fullUrl); // Blocking call!
|
||||
if (!response.IsSuccessStatusCode)
|
||||
throw new Exception("failure");
|
||||
|
||||
var res = await response.Content.ReadAsStreamAsync();
|
||||
return res;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,7 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using DeukBot4.APIHandlers;
|
||||
using DeukBot4.MessageHandlers.CommandHandler.RequestStructure;
|
||||
using DeukBot4.MessageHandlers.Permissions;
|
||||
|
@ -77,5 +79,20 @@ namespace DeukBot4.MessageHandlers.CommandHandler
|
|||
{
|
||||
await request.SendMessageAsync(await CatFactsApi.GetRandomCatFact());
|
||||
}
|
||||
|
||||
[Command("catpic", PermissionLevel.Everyone)]
|
||||
[CommandHelp("Returns a random cat picture", "Returns a random cat picture")]
|
||||
[CommandParameters(ParameterMatcher.ParameterType.Remainder)]
|
||||
public async Task RandomCatPc(CommandRequest request)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(request.Parameters[0].AsString()))
|
||||
{
|
||||
var saying = request.Parameters[0].AsString();
|
||||
await request.OriginalMessage.Channel.SendFileAsync(await CatPicHandler.GetCatPicture(saying), "cat_pic.png");
|
||||
return;
|
||||
}
|
||||
await request.OriginalMessage.Channel.SendFileAsync(await CatPicHandler.GetCatPicture(), "cat_pic.png");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using DeukBot4.APIHandlers;
|
||||
using DeukBot4.Utilities;
|
||||
using Discord;
|
||||
using Discord.WebSocket;
|
||||
|
@ -68,7 +70,8 @@ namespace DeukBot4.MessageHandlers
|
|||
var lowerSplit = lowerCasedContent.Split(' ');
|
||||
if (lowerSplit.Select(s => Lehvenstein.LevenshteinDistance(s, "delta")).Any(diff => diff <= 1))
|
||||
{
|
||||
await message.Channel.SendMessageAsync("uhh excuse me it's called Origin and it's an art");
|
||||
var warning = "uhh excuse me it's called\n Origin and it's an art";
|
||||
await message.Channel.SendFileAsync(await CatPicHandler.GetCatPicture(warning), "cat_pic.png");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue