diff --git a/ArchiSteamFarm/ArchiWebHandler.cs b/ArchiSteamFarm/ArchiWebHandler.cs index e75558d85..0925d0ed7 100644 --- a/ArchiSteamFarm/ArchiWebHandler.cs +++ b/ArchiSteamFarm/ArchiWebHandler.cs @@ -1294,13 +1294,12 @@ namespace ArchiSteamFarm { Bot.ArchiLogger.LogGenericInfo(Strings.UnlockingParentalAccount); - const string request = SteamCommunityURL + "/parental/ajaxunlock"; - Dictionary data = new Dictionary(1) { - { "pin", parentalPin } - }; + if (!await UnlockParentalCommunityAccount(parentalPin).ConfigureAwait(false)) { + Bot.ArchiLogger.LogGenericWarning(Strings.WarningFailed); + return false; + } - bool result = await WebBrowser.UrlPostRetry(request, data, SteamCommunityURL).ConfigureAwait(false); - if (!result) { + if (!await UnlockParentalStoreAccount(parentalPin).ConfigureAwait(false)) { Bot.ArchiLogger.LogGenericWarning(Strings.WarningFailed); return false; } @@ -1309,6 +1308,34 @@ namespace ArchiSteamFarm { return true; } + private async Task UnlockParentalCommunityAccount(string parentalPin) { + if (string.IsNullOrEmpty(parentalPin)) { + Bot.ArchiLogger.LogNullError(nameof(parentalPin)); + return false; + } + + const string request = SteamCommunityURL + "/parental/ajaxunlock"; + Dictionary data = new Dictionary(1) { + { "pin", parentalPin } + }; + + return await WebBrowser.UrlPostRetry(request, data, SteamCommunityURL).ConfigureAwait(false); + } + + private async Task UnlockParentalStoreAccount(string parentalPin) { + if (string.IsNullOrEmpty(parentalPin)) { + Bot.ArchiLogger.LogNullError(nameof(parentalPin)); + return false; + } + + const string request = SteamStoreURL + "/parental/ajaxunlock"; + Dictionary data = new Dictionary(1) { + { "pin", parentalPin } + }; + + return await WebBrowser.UrlPostRetry(request, data, SteamStoreURL).ConfigureAwait(false); + } + private enum ESteamApiKeyState : byte { Error, Registered,