diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index eecabfce6..afc272c0b 100644 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -135,7 +135,7 @@ namespace ArchiSteamFarm { Trading = new Trading(this); // Start - Start(); + var fireAndForget = Task.Run(async () => await Start().ConfigureAwait(false)); } private bool ReadConfig() { @@ -205,17 +205,18 @@ namespace ArchiSteamFarm { return true; } - internal void Start() { + internal async Task Start() { if (IsRunning) { return; } IsRunning = true; - Program.LimitSteamRequests(); + Logging.LogGenericInfo(BotName, "Starting..."); + await Program.LimitSteamRequestsAsync().ConfigureAwait(false); SteamClient.Connect(); - Task.Run(() => HandleCallbacks()); + var fireAndForget = Task.Run(() => HandleCallbacks()); } internal async Task Stop() { @@ -530,7 +531,7 @@ namespace ArchiSteamFarm { case EResult.TryAnotherCM: Logging.LogGenericWarning(BotName, "Unable to login to Steam: " + callback.Result + " / " + callback.ExtendedResult + ", retrying..."); await Stop().ConfigureAwait(false); - Start(); + await Start().ConfigureAwait(false); break; default: Logging.LogGenericWarning(BotName, "Unable to login to Steam: " + callback.Result + " / " + callback.ExtendedResult); diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs index c398d487f..84ebfe785 100644 --- a/ArchiSteamFarm/Program.cs +++ b/ArchiSteamFarm/Program.cs @@ -96,12 +96,6 @@ namespace ArchiSteamFarm { SteamSemaphore.Release(); } - internal static void LimitSteamRequests() { - SteamSemaphore.Wait(); - Thread.Sleep(Utilities.GetRandomDelay() * 1000); // We must add some delay to not get caught by Steam anty-DoS - SteamSemaphore.Release(); - } - internal static string GetUserInput(string botLogin, EUserInputType userInputType) { string result; lock (ConsoleLock) {