Example #1
0
        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();
        }