From 2a77e760a1973c2715d962e2d4237d4308a051ca Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Wed, 7 Jan 2026 20:28:30 -0600 Subject: [PATCH] Fixed color display for kasino game status and added plinko --- .../Commands/Kasino/KasinoAdminCommands.cs | 11 ++++++++--- KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs | 12 +++++++++++- KfChatDotNetBot/Settings/BuiltIn.cs | 2 ++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/KfChatDotNetBot/Commands/Kasino/KasinoAdminCommands.cs b/KfChatDotNetBot/Commands/Kasino/KasinoAdminCommands.cs index 9ebee48..f16b6e0 100644 --- a/KfChatDotNetBot/Commands/Kasino/KasinoAdminCommands.cs +++ b/KfChatDotNetBot/Commands/Kasino/KasinoAdminCommands.cs @@ -92,7 +92,8 @@ internal static class KasinoGameSettingMap new(WagerGame.LambChop, BuiltIn.Keys.KasinoLambchopEnabled, "lambchop"), new(WagerGame.Keno, BuiltIn.Keys.KasinoKenoEnabled, "keno"), new(WagerGame.CoinFlip, BuiltIn.Keys.KasinoCoinflipEnabled, "coinflip"), - new(WagerGame.Slots, BuiltIn.Keys.KasinoSlotsEnabled, "slots") + new(WagerGame.Slots, BuiltIn.Keys.KasinoSlotsEnabled, "slots"), + new(WagerGame.Plinko, BuiltIn.Keys.KasinoPlinkoEnabled, "plinko") }; internal static KasinoGameSetting? FindByAlias(string alias) => @@ -174,6 +175,10 @@ public class KasinoGameListCommand : ICommand CancellationToken ctx) { var response = $"{user.FormatUsername()}, Kasino games:[br]"; + var colors = + await SettingsProvider.GetMultipleValuesAsync([ + BuiltIn.Keys.KiwiFarmsGreenColor, BuiltIn.Keys.KiwiFarmsRedColor + ]); foreach (var game in KasinoGameSettingMap.All .OrderBy(g => g.Game.ToString())) @@ -183,8 +188,8 @@ public class KasinoGameListCommand : ICommand .ToBoolean(); var status = isEnabled - ? $"[B][COLOR={BuiltIn.Keys.KiwiFarmsGreenColor}]ENABLED[/COLOR][/B]" - : $"[B][COLOR={BuiltIn.Keys.KiwiFarmsRedColor}]DISABLED[/COLOR][/B]"; + ? $"[B][COLOR={colors[BuiltIn.Keys.KiwiFarmsGreenColor].Value}]ENABLED[/COLOR][/B]" + : $"[B][COLOR={colors[BuiltIn.Keys.KiwiFarmsRedColor].Value}]DISABLED[/COLOR][/B]"; response += $"{game.Game.Humanize()}: {status}[br]"; } diff --git a/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs b/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs index 17e6e85..0e5ec42 100644 --- a/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs +++ b/KfChatDotNetBot/Commands/Kasino/PlinkoCommand.cs @@ -50,8 +50,18 @@ public class PlinkoCommand : ICommand decimal payout = 0; decimal currentPayout = 0; var settings = await SettingsProvider.GetMultipleValuesAsync([ - BuiltIn.Keys.KasinoPlinkoCleanupDelay, BuiltIn.Keys.KiwiFarmsGreenColor, BuiltIn.Keys.KiwiFarmsRedColor + BuiltIn.Keys.KasinoPlinkoCleanupDelay, BuiltIn.Keys.KiwiFarmsGreenColor, BuiltIn.Keys.KiwiFarmsRedColor, + BuiltIn.Keys.KasinoPlinkoEnabled, BuiltIn.Keys.KasinoGameDisabledMessageCleanupDelay ]); + + if (!settings[BuiltIn.Keys.KasinoPlinkoEnabled].ToBoolean()) + { + var gameDisabledCleanupDelay= TimeSpan.FromMilliseconds(settings[BuiltIn.Keys.KasinoGameDisabledMessageCleanupDelay].ToType()); + await botInstance.SendChatMessageAsync( + $"{user.FormatUsername()}, plinko is currently disabled.", + true, autoDeleteAfter: gameDisabledCleanupDelay); + return; + } var cleanupDelay = TimeSpan.FromMilliseconds(settings[BuiltIn.Keys.KasinoPlinkoCleanupDelay].ToType()); if (!arguments.TryGetValue("amount", out var amount)) { diff --git a/KfChatDotNetBot/Settings/BuiltIn.cs b/KfChatDotNetBot/Settings/BuiltIn.cs index 7d0dc64..b0b6308 100644 --- a/KfChatDotNetBot/Settings/BuiltIn.cs +++ b/KfChatDotNetBot/Settings/BuiltIn.cs @@ -498,6 +498,8 @@ public static class BuiltIn public static string KasinoCoinflipEnabled = "Kasino.Coinflip.Enabled"; [BuiltInSetting("Whether slots is enabled", SettingValueType.Boolean, "true", BooleanRegex)] public static string KasinoSlotsEnabled = "Kasino.Slots.Enabled"; + [BuiltInSetting("Whether plinko is enabled", SettingValueType.Boolean, "true", BooleanRegex)] + public static string KasinoPlinkoEnabled = "Kasino.Plinko.Enabled"; } }