From 6d08ddee7d893f81f25c273560f803d848e4050a Mon Sep 17 00:00:00 2001 From: Toastie <toastie@toastiet0ast.com> Date: Sun, 16 Mar 2025 15:47:56 +1300 Subject: [PATCH] fixed hangman not working sometimes --- src/EllieBot/Modules/Games/Hangman/HangmanService.cs | 5 ++--- src/EllieBot/Modules/Xp/XpService.cs | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/EllieBot/Modules/Games/Hangman/HangmanService.cs b/src/EllieBot/Modules/Games/Hangman/HangmanService.cs index 86d7d94..8373e1b 100644 --- a/src/EllieBot/Modules/Games/Hangman/HangmanService.cs +++ b/src/EllieBot/Modules/Games/Hangman/HangmanService.cs @@ -35,7 +35,6 @@ public sealed class HangmanService : IHangmanService, IExecNoCommand if (!_source.GetTerm(category, out var term)) return false; - var game = new HangmanGame(term); lock (_locker) { @@ -71,7 +70,7 @@ public sealed class HangmanService : IHangmanService, IExecNoCommand if (string.IsNullOrWhiteSpace(msg.Content)) return; - if (_cdCache.TryGetValue(msg.Author.Id, out _)) + if (_cdCache.TryGetValue("hangman:" + msg.Author.Id, out _)) return; HangmanGame.State state; @@ -88,7 +87,7 @@ public sealed class HangmanService : IHangmanService, IExecNoCommand if (state.GuessResult is HangmanGame.GuessResult.Incorrect or HangmanGame.GuessResult.AlreadyTried) { - _cdCache.Set(msg.Author.Id, + _cdCache.Set("hangman:" + msg.Author.Id, string.Empty, new MemoryCacheEntryOptions { diff --git a/src/EllieBot/Modules/Xp/XpService.cs b/src/EllieBot/Modules/Xp/XpService.cs index b1ba3d2..a3c3fcc 100644 --- a/src/EllieBot/Modules/Xp/XpService.cs +++ b/src/EllieBot/Modules/Xp/XpService.cs @@ -570,10 +570,10 @@ public class XpService : IEService, IReadyExecutor, IExecNoCommand if (cdInMinutes <= float.Epsilon) return Task.FromResult(true); - if (_memCache.TryGetValue(userId, out _)) + if (_memCache.TryGetValue("xp_gain:" + userId, out _)) return Task.FromResult(false); - using var entry = _memCache.CreateEntry(userId); + using var entry = _memCache.CreateEntry("xp_gain:" + userId); entry.Value = true; entry.AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(cdInMinutes);