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(@".*i('| a)m (?[\w\s]{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); } } } }