internal static async Task Init() { if (!PluginsCore.InitPlugins()) { await Task.Delay(10000).ConfigureAwait(false); } WebBrowser = new WebBrowser(ArchiLogger, GlobalConfig.WebProxy, true); await UpdateAndRestart().ConfigureAwait(false); await PluginsCore.OnASFInitModules(GlobalConfig.AdditionalProperties).ConfigureAwait(false); StringComparer botsComparer = await PluginsCore.GetBotsComparer().ConfigureAwait(false); InitBotsComparer(botsComparer); if (!GlobalConfig.Headless && !Console.IsInputRedirected) { Logging.StartInteractiveConsole(); } if (GlobalConfig.IPC) { await ArchiKestrel.Start().ConfigureAwait(false); } await RegisterBots().ConfigureAwait(false); InitEvents(); }