30 lines
986 B
C#
30 lines
986 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(@".*i('| a)m (?<word>[\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);
|
|
}
|
|
}
|
|
}
|
|
} |