From 589ff5dce4b84ba8e6726e14aa5097332f6178cf Mon Sep 17 00:00:00 2001 From: JustArchi Date: Sun, 27 May 2018 04:48:09 +0200 Subject: [PATCH] Fix parental unlock --- ArchiSteamFarm/ArchiWebHandler.cs | 10 +++++----- ArchiSteamFarm/Bot.cs | 1 + ArchiSteamFarm/Program.cs | 1 - 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ArchiSteamFarm/ArchiWebHandler.cs b/ArchiSteamFarm/ArchiWebHandler.cs index 5cffde846..33cac73be 100644 --- a/ArchiSteamFarm/ArchiWebHandler.cs +++ b/ArchiSteamFarm/ArchiWebHandler.cs @@ -1131,8 +1131,8 @@ namespace ArchiSteamFarm { return response?.Result == EResult.OK; } - private async Task GetAbsoluteProfileURL() { - if (SteamID == 0) { + private async Task GetAbsoluteProfileURL(bool waitForInitialization = true) { + if (waitForInitialization && (SteamID == 0)) { for (byte i = 0; (i < Program.GlobalConfig.ConnectionTimeout) && (SteamID == 0) && Bot.IsConnectedAndLoggedOn; i++) { await Task.Delay(1000).ConfigureAwait(false); } @@ -1358,13 +1358,13 @@ namespace ArchiSteamFarm { } } - private async Task IsProfileUri(Uri uri) { + private async Task IsProfileUri(Uri uri, bool waitForInitialization = true) { if (uri == null) { ASF.ArchiLogger.LogNullError(nameof(uri)); return false; } - string profileURL = await GetAbsoluteProfileURL().ConfigureAwait(false); + string profileURL = await GetAbsoluteProfileURL(waitForInitialization).ConfigureAwait(false); if (string.IsNullOrEmpty(profileURL)) { Bot.ArchiLogger.LogGenericWarning(Strings.WarningFailed); return false; @@ -1523,7 +1523,7 @@ namespace ArchiSteamFarm { } // Under special brain-damaged circumstances, Steam might just return our own profile as a response to the request, for absolutely no reason whatsoever - just try again in this case - if (await IsProfileUri(response.FinalUri).ConfigureAwait(false)) { + if (await IsProfileUri(response.FinalUri, false).ConfigureAwait(false)) { Bot.ArchiLogger.LogGenericDebug(string.Format(Strings.WarningWorkaroundTriggered, nameof(IsProfileUri))); return await UnlockParentalAccountForService(serviceURL, parentalPin, --maxTries).ConfigureAwait(false); } diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index 1ff8c9f3b..36138bd8e 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -2387,6 +2387,7 @@ namespace ArchiSteamFarm { } } + [SuppressMessage("ReSharper", "FunctionComplexityOverflow")] private async Task RedeemGamesInBackground() { if (GamesRedeemerInBackgroundTimer != null) { GamesRedeemerInBackgroundTimer.Dispose(); diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs index 90b6803c5..ed7b231a8 100644 --- a/ArchiSteamFarm/Program.cs +++ b/ArchiSteamFarm/Program.cs @@ -26,7 +26,6 @@ using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; -using System.Reflection; using System.Resources; using System.Threading.Tasks; using ArchiSteamFarm.Localization;