示例#1
0
 private Task onClientReady()
 {
     Task.Run(() => {
         StaticBase.UpdateStatusAsync();
         StaticBase.initTracking();
     });
     return(Task.CompletedTask);
 }
示例#2
0
        private async Task Start()
        {
            using (StreamReader sr = new StreamReader(new FileStream("mopsdata//Config.json", FileMode.Open)))
                Config = JsonConvert.DeserializeObject <Dictionary <string, string> >(sr.ReadToEnd());

            StaticBase.UpdateStatusAsync();
            StaticBase.initTracking();

            await Task.Delay(-1);
        }
示例#3
0
        private async Task Start()
        {
            Client = new DiscordShardedClient(new DiscordSocketConfig()
            {
                LogLevel = LogSeverity.Info,
                //TotalShards = 2,
                LargeThreshold      = 50,
                MessageCacheSize    = 0,
                AlwaysDownloadUsers = false,
            });

            System.IO.Directory.CreateDirectory(".//mopsdata//Images");
            using (StreamReader sr = new StreamReader(new FileStream("mopsdata//Config.json", FileMode.Open)))
                Config = JsonConvert.DeserializeObject <Dictionary <string, string> >(sr.ReadToEnd());

            using (StreamReader sr = new StreamReader(new FileStream("mopsdata//TrackerLimits.json", FileMode.Open)))
                TrackerLimits = JsonConvert.DeserializeObject <Dictionary <string, Dictionary <string, int> > >(sr.ReadToEnd());


            Client.Log        += ClientLog;
            Client.ShardReady += onShardReady;

            Task.Run(() => {
                StaticBase.UpdateStatusAsync();
            });

            await Client.LoginAsync(TokenType.Bot, Config["DiscordToken"]);

            foreach (var shard in Client.Shards)
            {
                await shard.StartAsync();

                do
                {
                    await Task.Delay(30000);
                } while(StaticBase.GetMopsRAM() > 2200);
            }

            await Task.Delay(-1);
        }