30 lines
992 B
C#
30 lines
992 B
C#
using System.Text.RegularExpressions;
|
||
using System.Threading.Tasks;
|
||
using Discord;
|
||
using Discord.WebSocket;
|
||
|
||
namespace DeukBot4.MessageHandlers.JokeHandling
|
||
{
|
||
internal class DadJoke : IJokeController
|
||
{
|
||
public string Id => "dad";
|
||
public string Name => "Hi I'm dad";
|
||
|
||
private readonly Regex _regex = new Regex(@"(\s|^)i(`|’|'| a)?m (?<word>.{3,15})$",
|
||
RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
|
||
|
||
public async Task Run(SocketMessage message)
|
||
{
|
||
if (!(message.Author is IGuildUser guildUser))
|
||
return;
|
||
var content = message.Content;
|
||
var match = _regex.Match(content);
|
||
if (match.Success)
|
||
{
|
||
var newName = match.Groups["word"].Value;
|
||
await message.Channel.SendMessageAsync($"Hi {newName}, i'm Deukbot");
|
||
await guildUser.ModifyAsync(user => user.Nickname = newName);
|
||
}
|
||
}
|
||
}
|
||
} |