private void On_MidnightTimer(object sender, ElapsedEventArgs e)
        {
            UserDataService.On_MidnightTimer();
            UserDataService.BackupUserData();
            GiveAwayService.BackupGiveAways();
            CleanBackups();

            midnightTimer           = new Timer((DateTime.Today.AddDays(1) - DateTime.Now).TotalMilliseconds);
            midnightTimer.AutoReset = false;
            midnightTimer.Elapsed  += On_MidnightTimer;
        }
Пример #2
0
        public async Task Start()
        {
            client         = new DiscordSocketClient();
            commandService = new CommandService();

            IServiceCollection services = new ServiceCollection()
                                          .AddSingleton <WoWService>()
                                          .AddSingleton <UserDataService>()
                                          .AddSingleton <GiveAwayService>()
                                          .AddSingleton(commandService)
                                          .AddSingleton(client);

            serviceProvider = services.BuildServiceProvider();

            commandHandler = new CommandHandler(client, commandService, serviceProvider);
            eventHandler   = new EventHandler(client, serviceProvider);

            string AuthToken = File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "authkey.secret");
            await client.LoginAsync(TokenType.Bot, AuthToken, true);


            await client.StartAsync();

            await client.SetGameAsync("Aequinoctium");

            while (true)
            {
                string command = Console.ReadLine();

                switch (command.ToLower())
                {
                case "backup":
                    UserDataService.BackupUserData();
                    GiveAwayService.BackupGiveAways();
                    break;

                case "save":
                    UserDataService.SaveUserData();
                    GiveAwayService.SaveGiveAways();
                    break;

                case "load":
                    UserDataService.LoadUserData();
                    GiveAwayService.LoadGiveAways();
                    break;

                case "stop":
                    UserDataService.SaveUserData();
                    GiveAwayService.SaveGiveAways();
                    return;
                }
            }
        }