diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index aa78f643a..f8a71f3b9 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -838,7 +838,11 @@ namespace ArchiSteamFarm { return "This bot instance is not connected!"; } - CardsFarmer.RestartFarming().Forget(); + if (CardsFarmer.CurrentGamesFarming.Count > 0) { + return "This bot instance is farming already!"; + } + + CardsFarmer.StartFarming().Forget(); return "Done!"; } @@ -1662,7 +1666,8 @@ namespace ArchiSteamFarm { } if (acceptedSomething) { - CardsFarmer.RestartFarming().Forget(); + // Start farming, but only if we're not farming already + CardsFarmer.StartFarming().Forget(); } } @@ -2017,8 +2022,8 @@ namespace ArchiSteamFarm { } if (callback.PurchaseResult == ArchiHandler.PurchaseResponseCallback.EPurchaseResult.OK) { - // We will restart CF module to recalculate current status and decide about new optimal approach - CardsFarmer.RestartFarming().Forget(); + // Start farming, but only if we're not farming already + CardsFarmer.StartFarming().Forget(); } } } diff --git a/ArchiSteamFarm/CardsFarmer.cs b/ArchiSteamFarm/CardsFarmer.cs index 6a38fcbd8..8c02d45fa 100755 --- a/ArchiSteamFarm/CardsFarmer.cs +++ b/ArchiSteamFarm/CardsFarmer.cs @@ -187,11 +187,6 @@ namespace ArchiSteamFarm { FarmingSemaphore.Release(); } - internal async Task RestartFarming() { - await StopFarming().ConfigureAwait(false); - await StartFarming().ConfigureAwait(false); - } - internal void OnNewItemsNotification() { if (!NowFarming) { return;