From d55c734718b4925ff3bfcea4352747235e64e8c7 Mon Sep 17 00:00:00 2001 From: JustArchi Date: Sun, 24 Jan 2016 17:38:45 +0100 Subject: [PATCH] CMs refresh has to be done only once --- ArchiSteamFarm/Bot.cs | 27 ++++++++++++++------------- ArchiSteamFarm/Program.cs | 3 +++ 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index 5f0636ed5..769b43c19 100644 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -120,6 +120,20 @@ namespace ArchiSteamFarm { await Task.WhenAll(tasks).ConfigureAwait(false); } + internal static void RefreshCMs() { + bool initialized = false; + while (!initialized) { + try { + Logging.LogGenericInfo("Main", "Refreshing list of CMs..."); + SteamDirectory.Initialize().Wait(); + initialized = true; + Logging.LogGenericInfo("Main", "Success!"); + } catch (TaskCanceledException) { + Logging.LogGenericWarning("Main", "Failed! Retrying..."); + } + } + } + internal Bot(string botName) { if (Bots.ContainsKey(botName)) { return; @@ -190,19 +204,6 @@ namespace ArchiSteamFarm { ); } - // Before attempting to connect, initialize our list of CMs - bool initialized = false; - while (!initialized) { - try { - Logging.LogGenericInfo(BotName, "Getting list of CMs..."); - SteamDirectory.Initialize().Wait(); - initialized = true; - Logging.LogGenericInfo(BotName, "Success!"); - } catch (TaskCanceledException) { - Logging.LogGenericWarning(BotName, "Failed! Retrying..."); - } - } - // Start var handleCallbacks = Task.Run(() => HandleCallbacks()); var start = Task.Run(async () => await Start().ConfigureAwait(false)); diff --git a/ArchiSteamFarm/Program.cs b/ArchiSteamFarm/Program.cs index 563d0b84e..ed646725f 100644 --- a/ArchiSteamFarm/Program.cs +++ b/ArchiSteamFarm/Program.cs @@ -256,6 +256,9 @@ namespace ArchiSteamFarm { Task.Run(async () => await Exit(1).ConfigureAwait(false)).Wait(); } + // Before attempting to connect, initialize our list of CMs + Bot.RefreshCMs(); + foreach (var configFile in Directory.EnumerateFiles(ConfigDirectory, "*.xml")) { string botName = Path.GetFileNameWithoutExtension(configFile); Bot bot = new Bot(botName);