2019-01-29 13:28:47 +00:00
|
|
|
using System.Text.RegularExpressions;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using DeukBot4.Database;
|
|
|
|
using DeukBot4.MessageHandlers.CommandHandler;
|
|
|
|
using Discord;
|
|
|
|
|
|
|
|
namespace DeukBot4.MessageHandlers.JokeHandling
|
|
|
|
{
|
|
|
|
public class OwoHandler : IJokeController
|
|
|
|
{
|
|
|
|
public string Id => "owo-warn";
|
|
|
|
public string Name => "Owo Warnings";
|
|
|
|
|
2019-01-29 22:28:52 +00:00
|
|
|
private static readonly Regex Matcher = new Regex(@"(?:^|\s)(.)[wv]\1(?:\s|$)", RegexOptions.IgnoreCase);
|
2019-01-29 13:28:47 +00:00
|
|
|
|
2019-01-29 22:28:52 +00:00
|
|
|
public async Task Run(ReceivedMessage receivedMessage)
|
2019-01-29 13:28:47 +00:00
|
|
|
{
|
2019-01-29 22:28:52 +00:00
|
|
|
if (!(receivedMessage.Message.Channel is IGuildChannel serverChannel))
|
2019-01-29 13:28:47 +00:00
|
|
|
return;
|
|
|
|
|
2019-01-29 22:28:52 +00:00
|
|
|
if (!Matcher.Match(receivedMessage.Message.Content).Success)
|
2019-01-29 13:28:47 +00:00
|
|
|
return;
|
2019-01-29 22:28:52 +00:00
|
|
|
if (receivedMessage.IsHandled)
|
|
|
|
return;
|
|
|
|
receivedMessage.IsHandled = true;
|
|
|
|
var message = receivedMessage.Message;
|
2019-01-29 13:28:47 +00:00
|
|
|
|
|
|
|
var changePoints = await PointHandler.ChangePoints(serverChannel.GuildId, message.Author.Id, -100);
|
|
|
|
var embed = EmbedFactory.GetStandardEmbedBuilder();
|
|
|
|
embed.Title = "No Owoing";
|
|
|
|
embed.Description =
|
|
|
|
$"{message.Author.Mention}, you were fined by -100 points. Your new score is {changePoints}.";
|
|
|
|
message.Channel.SendMessageAsync("", embed: embed.Build());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|