diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index 8543390ab..77e3ab545 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -233,7 +233,12 @@ namespace ArchiSteamFarm { IsRunning = true; Logging.LogGenericInfo(BotName, "Starting..."); - await Program.LimitSteamRequestsAsync().ConfigureAwait(false); + + // 2FA tokens are expiring soon, use limiter only when we don't have any pending + if (TwoFactorAuth == null) { + await Program.LimitSteamRequestsAsync().ConfigureAwait(false); + } + SteamClient.Connect(); var fireAndForget = Task.Run(() => HandleCallbacks()); @@ -398,7 +403,12 @@ namespace ArchiSteamFarm { } Logging.LogGenericWarning(BotName, "Disconnected from Steam, reconnecting..."); - await Program.LimitSteamRequestsAsync().ConfigureAwait(false); + + // 2FA tokens are expiring soon, use limiter only when we don't have any pending + if (TwoFactorAuth == null) { + await Program.LimitSteamRequestsAsync().ConfigureAwait(false); + } + SteamClient.Connect(); } @@ -533,6 +543,10 @@ namespace ArchiSteamFarm { case EResult.OK: Logging.LogGenericInfo(BotName, "Successfully logged on!"); + // Reset one-time-only access tokens + AuthCode = null; + TwoFactorAuth = null; + if (!SteamNickname.Equals("null")) { SteamFriends.SetPersonaName(SteamNickname); }