Configurable join fail limit

This commit is contained in:
barelyprofessional
2024-09-17 20:23:51 +08:00
parent 5b3f394c29
commit 82c37c2ece
2 changed files with 12 additions and 1 deletions

View File

@@ -83,10 +83,11 @@ public class ChatBot
private void OnFailedToJoinRoom(object sender, string message) private void OnFailedToJoinRoom(object sender, string message)
{ {
var failureLimit = Helpers.GetValue(BuiltIn.Keys.KiwiFarmsJoinFailLimit).Result.ToType<int>();
_joinFailures++; _joinFailures++;
_logger.Error($"Couldn't join the room, attempt {_joinFailures}. KF returned: {message}"); _logger.Error($"Couldn't join the room, attempt {_joinFailures}. KF returned: {message}");
_logger.Error("This is likely due to the session cookie expiring. Retrieving a new one."); _logger.Error("This is likely due to the session cookie expiring. Retrieving a new one.");
if (_joinFailures > 3) if (_joinFailures >= failureLimit)
{ {
_logger.Error("Seems we're in a rejoin loop. Wiping out cookies entirely in hopes it'll make this piece of shit work"); _logger.Error("Seems we're in a rejoin loop. Wiping out cookies entirely in hopes it'll make this piece of shit work");
_kfTokenService.WipeCookies(); _kfTokenService.WipeCookies();

View File

@@ -525,6 +525,15 @@ public static class BuiltIn
Default = "10", Default = "10",
IsSecret = false, IsSecret = false,
CacheDuration = TimeSpan.FromHours(1) CacheDuration = TimeSpan.FromHours(1)
},
new BuiltInSettingsModel
{
Key = Keys.KiwiFarmsJoinFailLimit,
Regex = @"\d+",
Description = "Limit of times to fail joining the room before wiping cookies",
Default = "2",
IsSecret = false,
CacheDuration = TimeSpan.FromHours(1)
} }
]; ];
@@ -575,5 +584,6 @@ public static class BuiltIn
public static string CrackedZalgoFuckUpPosition = "Cracked.ZalgoFuckUpPosition"; public static string CrackedZalgoFuckUpPosition = "Cracked.ZalgoFuckUpPosition";
public static string WinmanjackImgUrl = "Winmanjack.ImgUrl"; public static string WinmanjackImgUrl = "Winmanjack.ImgUrl";
public static string BotDisconnectReplayLimit = "Bot.DisconnectReplayLimit"; public static string BotDisconnectReplayLimit = "Bot.DisconnectReplayLimit";
public static string KiwiFarmsJoinFailLimit = "KiwiFarms.JoinFailLimit";
} }
} }