Ejemplo n.º 1
0
        private static void RunBotEngine()
        {
            _botEngine = _container.Resolve <BotEngine>();
            _botEngine.Start();

            JobManager.Initialize();
            JobManager.AddJob(() => _container.Resolve <IStatService>().Publish(), (s) => s.ToRunEvery(1).Days().At(00, 00));

            Console.CancelKeyPress += (o, e) =>
            {
                _botEngine.Stop();
                _container.Dispose();

                WaitHandle.Set();
            };

            WaitHandle.WaitOne();
        }
Ejemplo n.º 2
0
        private static void Main()
        {
            var engine = new BotEngine();
            engine.Start();
            Console.WriteLine("Bot is running. Press any key to stop him!");
            while (true)
            {
                if (Console.KeyAvailable)
                {
                    Console.ReadKey();
                    Console.WriteLine("Stopping...");
                    engine.Stop();
                    return;
                }

                Thread.Sleep(100);
                Application.DoEvents();
            }
        }
Ejemplo n.º 3
0
        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            try
            {
                using var scope = scopeFactory.CreateScope();
                botEngine       = scope.ServiceProvider.GetRequiredService <BotEngine>();
                grabber         = scope.ServiceProvider.GetRequiredService <Grabber>();

                var dota2DbContext = scope.ServiceProvider.GetRequiredService <Dota2DbContext>();

                await dota2DbContext.Database.MigrateAsync(cancellationToken : stoppingToken);

                botEngine.Start(stoppingToken);
                grabber.Start(stoppingToken);

                await Task.Delay(Timeout.Infinite, stoppingToken);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);

                await Task.CompletedTask;
            }
        }