Moved joke message handler to separate class for organization
This commit is contained in:
parent
a898e69b58
commit
2787fab689
|
@ -0,0 +1,71 @@
|
|||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using DeukBot4.APIHandlers;
|
||||
using DeukBot4.Utilities;
|
||||
using Discord;
|
||||
using Discord.WebSocket;
|
||||
|
||||
namespace DeukBot4.MessageHandlers
|
||||
{
|
||||
public static class JokeHandlers
|
||||
{
|
||||
public static async Task DeltaHandler(SocketMessage message)
|
||||
{
|
||||
var lowerCasedContent = message.Content.ToLowerInvariant().RemoveSpecialCharacters();
|
||||
if (lowerCasedContent.Contains("origin"))
|
||||
return;
|
||||
|
||||
var lowerSplit = lowerCasedContent.Split(' ');
|
||||
if (lowerSplit.Select(s => Lehvenstein.LevenshteinDistance(s, "delta")).Any(diff => diff <= 1))
|
||||
{
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task DadJokeHandler(SocketMessage message)
|
||||
{
|
||||
if (!(message.Author is IGuildUser guildUser))
|
||||
return;
|
||||
string newName;
|
||||
var content = message.Content;
|
||||
var lower = content.ToLowerInvariant();
|
||||
|
||||
if (lower.StartsWith("hi "))
|
||||
{
|
||||
lower = lower.Remove(0, 3);
|
||||
content = content.Remove(0, 3);
|
||||
}
|
||||
else if (lower.StartsWith("hello "))
|
||||
{
|
||||
lower = lower.Remove(0, 6);
|
||||
content = content.Remove(0, 6);
|
||||
}
|
||||
if (lower[0] != 'i')
|
||||
return;
|
||||
if (lower.StartsWith("i'm "))
|
||||
{
|
||||
newName = content.Remove(0, 4);
|
||||
}
|
||||
else if (lower.StartsWith("im "))
|
||||
{
|
||||
newName = content.Remove(0, 3);
|
||||
}
|
||||
else if (lower.StartsWith("i am "))
|
||||
{
|
||||
newName = content.Remove(0, 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (newName.Length > 15)
|
||||
return;
|
||||
|
||||
await message.Channel.SendMessageAsync($"Hi {newName}, i'm Deukbot");
|
||||
await guildUser.ModifyAsync(user => user.Nickname = newName);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -23,8 +23,8 @@ namespace DeukBot4.MessageHandlers
|
|||
CommandHandler.CommandHandler.HandleMessage(message);
|
||||
HandlePrivateMessage(message);
|
||||
ImageBackupHandler.Backup(message);
|
||||
DeltaHandler(message);
|
||||
DadJokeHandler(message);
|
||||
JokeHandlers.DeltaHandler(message);
|
||||
JokeHandlers.DadJokeHandler(message);
|
||||
#pragma warning restore 4014
|
||||
}
|
||||
catch (Exception e)
|
||||
|
@ -62,63 +62,5 @@ namespace DeukBot4.MessageHandlers
|
|||
}
|
||||
}
|
||||
|
||||
private static async Task DeltaHandler(SocketMessage message)
|
||||
{
|
||||
var lowerCasedContent = message.Content.ToLowerInvariant().RemoveSpecialCharacters();
|
||||
if (lowerCasedContent.Contains("origin"))
|
||||
return;
|
||||
|
||||
var lowerSplit = lowerCasedContent.Split(' ');
|
||||
if (lowerSplit.Select(s => Lehvenstein.LevenshteinDistance(s, "delta")).Any(diff => diff <= 1))
|
||||
{
|
||||
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");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static async Task DadJokeHandler(SocketMessage message)
|
||||
{
|
||||
if (!(message.Author is IGuildUser guildUser))
|
||||
return;
|
||||
string newName;
|
||||
var content = message.Content;
|
||||
var lower = content.ToLowerInvariant();
|
||||
|
||||
if (lower.StartsWith("hi "))
|
||||
{
|
||||
lower = lower.Remove(0, 3);
|
||||
content = content.Remove(0, 3);
|
||||
}
|
||||
else if (lower.StartsWith("hello "))
|
||||
{
|
||||
lower = lower.Remove(0, 6);
|
||||
content = content.Remove(0, 6);
|
||||
}
|
||||
if (lower[0] != 'i')
|
||||
return;
|
||||
if (lower.StartsWith("i'm "))
|
||||
{
|
||||
newName = content.Remove(0, 4);
|
||||
}
|
||||
else if (lower.StartsWith("im "))
|
||||
{
|
||||
newName = content.Remove(0, 3);
|
||||
}
|
||||
else if (lower.StartsWith("i am "))
|
||||
{
|
||||
newName = content.Remove(0, 5);
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (newName.Length > 15)
|
||||
return;
|
||||
|
||||
await message.Channel.SendMessageAsync($"Hi {newName}, i'm Deukbot");
|
||||
await guildUser.ModifyAsync(user => user.Nickname = newName);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue