diff --git a/ArchiSteamFarm/Actions.cs b/ArchiSteamFarm/Actions.cs index 7f8dddd06..98b418c98 100644 --- a/ArchiSteamFarm/Actions.cs +++ b/ArchiSteamFarm/Actions.cs @@ -231,14 +231,6 @@ namespace ArchiSteamFarm { return (false, Strings.BotSendingTradeToYourself); } - if (string.IsNullOrEmpty(tradeToken) && (Bot.SteamFriends.GetFriendRelationship(targetSteamID) != EFriendRelationship.Friend)) { - Bot targetBot = Bot.Bots.Values.FirstOrDefault(bot => bot.SteamID == targetSteamID); - - if (targetBot?.IsConnectedAndLoggedOn == true) { - tradeToken = await targetBot.ArchiHandler.GetTradeToken().ConfigureAwait(false); - } - } - lock (TradingSemaphore) { if (TradingScheduled) { return (false, Strings.ErrorAborted); @@ -264,6 +256,14 @@ namespace ArchiSteamFarm { return (false, Strings.BotLootingFailed); } + if (string.IsNullOrEmpty(tradeToken) && (Bot.SteamFriends.GetFriendRelationship(targetSteamID) != EFriendRelationship.Friend)) { + Bot targetBot = Bot.Bots.Values.FirstOrDefault(bot => bot.SteamID == targetSteamID); + + if (targetBot?.IsConnectedAndLoggedOn == true) { + tradeToken = await targetBot.ArchiHandler.GetTradeToken().ConfigureAwait(false); + } + } + (bool success, HashSet mobileTradeOfferIDs) = await Bot.ArchiWebHandler.SendTradeOffer(targetSteamID, inventory, token: tradeToken).ConfigureAwait(false); if ((mobileTradeOfferIDs != null) && (mobileTradeOfferIDs.Count > 0) && Bot.HasMobileAuthenticator) {