From 0acef23ffd63023b48328b86d477c962f4bc90ca Mon Sep 17 00:00:00 2001 From: JustArchi Date: Tue, 27 Sep 2016 13:20:22 +0200 Subject: [PATCH] Don't do extra work when user is not using ASF 2FA --- ArchiSteamFarm/Bot.cs | 1 + ArchiSteamFarm/Trading.cs | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index 12557aff4..b6a55ac72 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -70,6 +70,7 @@ namespace ArchiSteamFarm { private readonly Timer AcceptConfirmationsTimer, HeartBeatTimer, SendItemsTimer; private readonly Trading Trading; + internal bool HasMobileAuthenticator => BotDatabase.MobileAuthenticator != null; internal bool IsConnectedAndLoggedOn => SteamClient.IsConnected && (SteamClient.SteamID != null); [JsonProperty] diff --git a/ArchiSteamFarm/Trading.cs b/ArchiSteamFarm/Trading.cs index 331b0b3d8..05d680e2d 100644 --- a/ArchiSteamFarm/Trading.cs +++ b/ArchiSteamFarm/Trading.cs @@ -124,10 +124,12 @@ namespace ArchiSteamFarm { ParseTradeResult[] results = await Task.WhenAll(tradeOffers.Select(ParseTrade)).ConfigureAwait(false); - HashSet acceptedTradeIDs = new HashSet(results.Where(result => (result != null) && (result.Result == ParseTradeResult.EResult.AcceptedWithItemLose)).Select(result => result.TradeID)); - if (acceptedTradeIDs.Count > 0) { - await Task.Delay(1000).ConfigureAwait(false); // Sometimes we can be too fast for Steam servers to generate confirmations, wait a short moment - await Bot.AcceptConfirmations(true, Steam.ConfirmationDetails.EType.Trade, 0, acceptedTradeIDs).ConfigureAwait(false); + if (Bot.HasMobileAuthenticator) { + HashSet acceptedWithItemLoseTradeIDs = new HashSet(results.Where(result => (result != null) && (result.Result == ParseTradeResult.EResult.AcceptedWithItemLose)).Select(result => result.TradeID)); + if (acceptedWithItemLoseTradeIDs.Count > 0) { + await Task.Delay(1000).ConfigureAwait(false); // Sometimes we can be too fast for Steam servers to generate confirmations, wait a short moment + await Bot.AcceptConfirmations(true, Steam.ConfirmationDetails.EType.Trade, 0, acceptedWithItemLoseTradeIDs).ConfigureAwait(false); + } } if (results.Any(result => (result != null) && ((result.Result == ParseTradeResult.EResult.AcceptedWithItemLose) || (result.Result == ParseTradeResult.EResult.AcceptedWithoutItemLose)))) {