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 (?.{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); } } } }