private static async Task InitASF(IReadOnlyCollection <string> args) { ASF.ArchiLogger.LogGenericInfo("ASF V" + SharedInfo.Version + " (" + SharedInfo.ModuleVersion + ")"); await InitGlobalConfigAndLanguage().ConfigureAwait(false); await InitGlobalDatabaseAndServices().ConfigureAwait(false); // If debugging is on, we prepare debug directory prior to running if (GlobalConfig.Debug) { Logging.EnableTraceLogging(); if (Directory.Exists(SharedInfo.DebugDirectory)) { try { Directory.Delete(SharedInfo.DebugDirectory, true); await Task.Delay(1000).ConfigureAwait(false); // Dirty workaround giving Windows some time to sync } catch (IOException e) { ASF.ArchiLogger.LogGenericException(e); } } Directory.CreateDirectory(SharedInfo.DebugDirectory); DebugLog.AddListener(new Debugging.DebugListener()); DebugLog.Enabled = true; } // Parse post-init args if (args != null) { ParsePostInitArgs(args); } await ASF.CheckAndUpdateProgram().ConfigureAwait(false); await ASF.InitBots().ConfigureAwait(false); ASF.InitEvents(); }
private static async Task InitASF(IReadOnlyCollection <string> args) { ASF.ArchiLogger.LogGenericInfo(SharedInfo.PublicIdentifier + " V" + SharedInfo.Version + " (" + SharedInfo.BuildInfo.Variant + "/" + SharedInfo.ModuleVersion + " | " + OS.Variant + ")"); await InitGlobalConfigAndLanguage().ConfigureAwait(false); // Parse post-init args if (args != null) { ParsePostInitArgs(args); } OS.Init(SystemRequired); await InitGlobalDatabaseAndServices().ConfigureAwait(false); await ASF.CheckAndUpdateProgram().ConfigureAwait(false); await ASF.InitBots().ConfigureAwait(false); ASF.InitEvents(); }