From 2b78093dbcf11551952287e700c6ed27c7505046 Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Sat, 14 Sep 2024 16:36:30 +0800 Subject: [PATCH] Added command for posting Zalgo text for crackhead screaming moments --- KfChatDotNetBot/Commands/MemeCommands.cs | 19 +++++++++++++++++++ KfChatDotNetBot/KfChatDotNetBot.csproj | 1 + KfChatDotNetBot/Settings/BuiltIn.cs | 19 +++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/KfChatDotNetBot/Commands/MemeCommands.cs b/KfChatDotNetBot/Commands/MemeCommands.cs index 3adebc1..2a8d45f 100644 --- a/KfChatDotNetBot/Commands/MemeCommands.cs +++ b/KfChatDotNetBot/Commands/MemeCommands.cs @@ -2,6 +2,7 @@ using System.Text.RegularExpressions; using KfChatDotNetBot.Models.DbModels; using KfChatDotNetBot.Settings; using KfChatDotNetWsClient.Models.Events; +using Zalgo; namespace KfChatDotNetBot.Commands; @@ -71,4 +72,22 @@ public class GmKasinoCommand : ICommand var image = images[random.Next(images.Count)]; botInstance.SendChatMessage($"[img]{image}[/img]", true); } +} + +public class CrackedCommand : ICommand +{ + public List Patterns => [new Regex("^cracked (?.+)")]; + public string? HelpText => "Crackhead Zalgo text"; + public UserRight RequiredRight => UserRight.Guest; + public TimeSpan Timeout => TimeSpan.FromSeconds(10); + public async Task RunCommand(ChatBot botInstance, MessageModel message, UserDbModel user, GroupCollection arguments, CancellationToken ctx) + { + var msg = arguments["msg"].Value.TrimStart('/'); + var settings = await Helpers.GetMultipleValues([ + BuiltIn.Keys.CrackedZalgoFuckUpMode, BuiltIn.Keys.CrackedZalgoFuckUpPosition + ]); + var zalgo = new ZalgoString(msg, (FuckUpMode)settings[BuiltIn.Keys.CrackedZalgoFuckUpMode].ToType(), + (FuckUpPosition)settings[BuiltIn.Keys.CrackedZalgoFuckUpPosition].ToType()); + botInstance.SendChatMessage(zalgo.ToString(), true); + } } \ No newline at end of file diff --git a/KfChatDotNetBot/KfChatDotNetBot.csproj b/KfChatDotNetBot/KfChatDotNetBot.csproj index f3fe20e..8d08a7e 100644 --- a/KfChatDotNetBot/KfChatDotNetBot.csproj +++ b/KfChatDotNetBot/KfChatDotNetBot.csproj @@ -20,6 +20,7 @@ + diff --git a/KfChatDotNetBot/Settings/BuiltIn.cs b/KfChatDotNetBot/Settings/BuiltIn.cs index 7db151d..84f34a0 100644 --- a/KfChatDotNetBot/Settings/BuiltIn.cs +++ b/KfChatDotNetBot/Settings/BuiltIn.cs @@ -479,6 +479,23 @@ public static class BuiltIn Default = "10", IsSecret = false, CacheDuration = TimeSpan.FromHours(1) + new BuiltInSettingsModel + { + Key = Keys.CrackedZalgoFuckUpMode, + Regex = @"\d+", + Description = "FuckUpMode. 0 = Min, 1 = Normal, 2 = Max", + Default = "1", + IsSecret = false, + CacheDuration = TimeSpan.FromHours(1) + }, + new BuiltInSettingsModel + { + Key = Keys.CrackedZalgoFuckUpPosition, + Regex = @"\d+", + Description = "FuckUpPosition: 1 = Up, 2 = Middle, 3 = UpAndMiddle, 4 = Bot (Bottom), 5 = UpAndBot, 6 = MiddleAndBot, 7 = All", + Default = "2", + IsSecret = false, + CacheDuration = TimeSpan.FromHours(1) } ]; @@ -524,5 +541,7 @@ public static class BuiltIn public static string TwitchShillRestreamOnCommercial = "Twitch.ShillRestreamOnCommercial"; public static string KiwiFarmsInactivityTimeout = "KiwiFarms.InactivityTimeout"; public static string KiwiFarmsPingInterval = "KiwiFarms.PingInterval"; + public static string CrackedZalgoFuckUpMode = "Cracked.ZalgoFuckUpMode"; + public static string CrackedZalgoFuckUpPosition = "Cracked.ZalgoFuckUpPosition"; } } \ No newline at end of file