示例#1
0
        private async Task StatsLog(Client client)
        {
            dontspam++;
            var profil = await _client.GetCachedProfile();

            var stats = await _inventory.GetPlayerStats();

            var c = stats.FirstOrDefault();

            int l = c.Level;

            var expneeded       = ((c.NextLevelXp - c.PrevLevelXp) - StringUtils.getExpDiff(c.Level));
            var curexp          = ((c.Experience - c.PrevLevelXp) - StringUtils.getExpDiff(c.Level));
            var curexppercent   = (Convert.ToDouble(curexp) / Convert.ToDouble(expneeded)) * 100;
            var pokemonToEvolve = (await _inventory.GetPokemonToEvolve(null)).Count();

            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "_____________________________");
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "Level: " + c.Level);
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "EXP Needed: " + expneeded);
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, $"Current EXP: {curexp} ({Math.Round(curexppercent)}%)");
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "EXP to Level up: " + ((c.NextLevelXp) - (c.Experience)));
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "KM Walked: " + c.KmWalked);
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "PokeStops visited: " + c.PokeStopVisits);
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "Stardust: " + profil.Profile.Currency.ToArray()[1].Amount);
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "Pokemon to evolve: " + pokemonToEvolve);
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "Pokemons: " + await _inventory.getPokemonCount() + "/" + profil.Profile.PokeStorage);
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "Items: " + await _inventory.getInventoryCount() + "/" + profil.Profile.ItemStorage);
            if (dontspam >= 3)
            {
                dontspam = 0;
                PokeService data = null;
                try
                {
                    var clientx = new WebClient();
                    clientx.Headers.Add("user-agent", "PokegoBot-Ar1i-Github");
                    var jsonString = clientx.DownloadString("https://go.jooas.com/status");
                    data = new JavaScriptSerializer().Deserialize <PokeService>(jsonString);
                }
                catch (Exception)
                {
                }

                if (data != null)
                {
                    Logger.ColoredConsoleWrite(ConsoleColor.White, "");
                    Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "PokemonGO Server Status:");
                    if (data.go_online)
                    {
                        if (data.go_idle > 60)
                        {
                            int gohour = Convert.ToInt32(data.go_idle / 60);

                            if (gohour > 24)
                            {
                                int goday = gohour / 24;

                                Logger.ColoredConsoleWrite(ConsoleColor.Green, "Online since ~" + goday + " day(s).");
                            }
                            else
                            {
                                Logger.ColoredConsoleWrite(ConsoleColor.Green, "Online since ~" + gohour + "h.");
                            }
                        }
                        else
                        {
                            Logger.ColoredConsoleWrite(ConsoleColor.Green, "Online since ~" + data.go_idle + " min.");
                        }

                        Logger.ColoredConsoleWrite(ConsoleColor.Green, "Server anwsers in ~" + data.go_response + " seconds.");
                    }
                    else
                    {
                        Logger.ColoredConsoleWrite(ConsoleColor.Red, "Pokemon GO Servers: Offline.");
                    }
                    Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "Pokemon Trainer Club Server Status:");
                    if (data.ptc_online)
                    {
                        if (data.ptc_idle > 60)
                        {
                            int ptchour = Convert.ToInt32(data.ptc_idle / 60);

                            if (ptchour > 24)
                            {
                                int ptcday = ptchour / 24;
                                Logger.ColoredConsoleWrite(ConsoleColor.Green, "Online since ~" + ptcday + " day(s).");
                            }
                            else
                            {
                                Logger.ColoredConsoleWrite(ConsoleColor.Green, "Online since ~" + ptchour + "h.");
                            }
                        }
                        else
                        {
                            Logger.ColoredConsoleWrite(ConsoleColor.Green, "Online since ~" + data.ptc_idle + " min.");
                        }

                        Logger.ColoredConsoleWrite(ConsoleColor.Green, "Server anwsers in ~" + data.ptc_response + " seconds.");
                    }
                    else
                    {
                        Logger.ColoredConsoleWrite(ConsoleColor.Red, "Pokemon Trainer Club: Offline.");
                    }
                }
                else
                {
                    Logger.ColoredConsoleWrite(ConsoleColor.Red, "Cant get Server Status from https://go.jooas.com/status");
                }
            }
            Logger.ColoredConsoleWrite(ConsoleColor.Cyan, "_____________________________");


            System.Console.Title = "PokeBot3 | User: "******" | Level " + c.Level + " - (" + ((c.Experience - c.PrevLevelXp) -
                                                                                                                     StringUtils.getExpDiff(c.Level)) + " / " + ((c.NextLevelXp - c.PrevLevelXp) - StringUtils.getExpDiff(c.Level)) + " | " + Math.Round(curexppercent) + "%) | Stardust: " + profil.Profile.Currency.ToArray()[1].Amount + " | " + _botStats.ToString();
            Vars.username    = profil.Profile.Username;
            Vars.xprate      = _botStats.xprate();
            Vars.catchrate   = _botStats.catchrate();
            Vars.stardust    = profil.Profile.Currency.ToArray()[1].Amount.ToString();
            Vars.evolvecount = pokemonToEvolve.ToString();
            Vars.pokemon     = await _inventory.getPokemonCount() + "/" + profil.Profile.PokeStorage;

            Vars.level      = "Level " + c.Level + " - (" + ((c.Experience - c.PrevLevelXp) - StringUtils.getExpDiff(c.Level)) + " / " + ((c.NextLevelXp - c.PrevLevelXp) - StringUtils.getExpDiff(c.Level)) + " | " + Math.Round(curexppercent) + "%)";
            Vars.percentage = Math.Round(curexppercent).ToString();
            Vars.items      = await _inventory.getInventoryCount() + "/" + profil.Profile.ItemStorage;
        }