Exemplo n.º 1
0
        /// <summary>
        /// Get information about a single clan by clan tag.
        /// </summary>
        public async Task GetClanInformation()
        {
            var coc  = new ClashOfClansClient(token);
            var clan = await coc.Clans.GetClanAsync(clanTag);

            Console.WriteLine($"Clan '{clan.Name}' is a level {clan.ClanLevel} clan and has {clan.Members} members");
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get information about the current gold pass season.
        /// </summary>
        public async Task GetCurrentGoldPassSeason()
        {
            var coc = new ClashOfClansClient(token);
            var currentGoldPassSeason = await coc.GoldPass.GetCurrentGoldPassSeasonAsync();

            Console.WriteLine($"Current GoldPass season started '{currentGoldPassSeason.StartTime.ToLocalTime()}'" +
                              $" and ends '{currentGoldPassSeason.EndTime.ToLocalTime()}'");
        }
Exemplo n.º 3
0
        /// <summary>
        /// Verify player API token that can be found from the game settings
        /// </summary>
        public async Task VerifyPlayerApiToken()
        {
            var playerApiToken = "123456789";
            var coc            = new ClashOfClansClient(token);
            var result         = await coc.Players.VerifyTokenAsync(playerTag, playerApiToken);

            Console.WriteLine($"Player '{result.Tag}' API token '{result.Token}' status '{result.Status}'");
        }
Exemplo n.º 4
0
        /// <summary>
        /// Get war league information
        /// </summary>
        public async Task GetWarLeagueInformation()
        {
            var warLeagueId = 48000000; // Unranked
            var coc         = new ClashOfClansClient(token);
            var warLeague   = await coc.Leagues.GetWarLeagueAsync(warLeagueId);

            Console.WriteLine($"Id: {warLeague.Id} = {warLeague.Name}");
        }
Exemplo n.º 5
0
        /// <summary>
        /// Get information about specific location
        /// </summary>
        public async Task GetLocationInformation()
        {
            var coc        = new ClashOfClansClient(token);
            var locationId = 32000086; // Finland
            var location   = await coc.Locations.GetLocationAsync(locationId);

            Console.WriteLine($"Id: {location.Id}, Name: {location.Name}, IsCountry: {location.IsCountry}");
        }
Exemplo n.º 6
0
        /// <summary>
        /// Get league information
        /// </summary>
        public async Task GetLeagueInformation()
        {
            var leagueId = 29000022; // Legend League identifier
            var coc      = new ClashOfClansClient(token);
            var league   = await coc.Leagues.GetLeagueAsync(leagueId);

            Console.WriteLine($"Id: {league.Id} = {league.Name}");
        }
Exemplo n.º 7
0
        /// <summary>
        /// List player labels
        /// </summary>
        public async Task ListPlayerLabels()
        {
            var coc    = new ClashOfClansClient(token);
            var labels = (LabelList)await coc.Labels.GetPlayerLabelsAsync();

            foreach (var label in labels)
            {
                Console.WriteLine($"Id: {label.Id}, Name: {label.Name}");
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// List clan members
        /// </summary>
        public async Task ListClanMembers()
        {
            var coc         = new ClashOfClansClient(token);
            var clanMembers = (ClanMemberList)await coc.Clans.GetClanMembersAsync(clanTag);

            foreach (var member in clanMembers)
            {
                Console.WriteLine($"{member.ClanRank}. {member.Name}, {member.Trophies} \uD83C\uDFC6, {member.League.Name}");
            }
        }
Exemplo n.º 9
0
        public LeaguesTest()
        {
            var token = string.Empty;

            if (File.Exists("coc_token.txt"))
            {
                token = File.ReadAllText("coc_token.txt");
            }

            _cocClient = new ClashOfClansClient(token, TimeSpan.FromSeconds(2));
        }
Exemplo n.º 10
0
        /// <summary>
        /// List locations
        /// </summary>
        public async Task ListLocations()
        {
            var coc       = new ClashOfClansClient(token);
            var locations = (LocationList)await coc.Locations.GetLocationsAsync();

            Console.WriteLine($"Total amount of locations: {locations.Count}");

            foreach (var location in locations)
            {
                Console.WriteLine($"Id: {location.Id}, Name: {location.Name}, IsCountry: {location.IsCountry}, CountryCode: {location.CountryCode}");
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// List war leagues
        /// </summary>
        public async Task ListWarLeagues()
        {
            var coc        = new ClashOfClansClient(token);
            var warLeagues = (WarLeagueList)await coc.Leagues.GetWarLeaguesAsync();

            Console.WriteLine($"Total amount of war leagues: {warLeagues.Count}");

            foreach (var warLeague in warLeagues)
            {
                Console.WriteLine($"Id: {warLeague.Id}, Name: {warLeague.Name}");
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Retrieve clan's clan war log
        /// </summary>
        public async Task RetrieveClansClanWarLog()
        {
            var coc  = new ClashOfClansClient(token);
            var clan = await coc.Clans.GetClanAsync(clanTag);

            if (clan.IsWarLogPublic)
            {
                var warLog = await coc.Clans.GetClanWarLogAsync(clanTag);

                foreach (var war in warLog.Items.Where(w => w.Result != null))
                {
                    Console.WriteLine($"{war.Result.ToString()![0]}: {Statistics(war.Clan)} vs {Statistics(war.Opponent)}");
Exemplo n.º 13
0
        /// <summary>
        /// Get information about a single player by player tag.
        /// </summary>
        public async Task GetPlayerInformation()
        {
            var coc    = new ClashOfClansClient(token);
            var player = await coc.Players.GetPlayerAsync(playerTag);

            Console.WriteLine($"'{player.Name}' has {player.Trophies} \uD83C\uDFC6 and {player.WarStars} war stars");

            if (player.Clan != null)
            {
                var d  = player.Donations;
                var dr = player.DonationsReceived;
                Console.WriteLine($"'{player.Name}' is a member of '{player.Clan.Name}' and has a donation ratio {d}/{dr}={(dr != 0 ? (d / (float)dr) : 0):0.00}");
            }
        }
Exemplo n.º 14
0
        /// <summary>
        /// Get player versus rankings for a specific location
        /// </summary>
        public async Task GetPlayerVersusRankingsForASpecificLocation()
        {
            var coc       = new ClashOfClansClient(token);
            var locations = (LocationList)await coc.Locations.GetLocationsAsync();

            var location = locations["Finland"];

            var playerVersusRankings = (PlayerVersusRankingList)await coc.Locations.GetPlayerVersusRankingAsync(location.Id);

            foreach (var player in playerVersusRankings)
            {
                Console.WriteLine($"Rank {player.Rank}, {player.VersusTrophies} \uD83C\uDFC6, player {player.Name}");
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// Get league seasons. Note that league season information is available only for Legend League.
        /// </summary>
        public async Task GetLeagueSeasons()
        {
            var coc     = new ClashOfClansClient(token);
            var leagues = (LeagueList)await coc.Leagues.GetLeaguesAsync();

            var legendLeague  = leagues["Legend League"];
            var leagueSeasons = (LeagueSeasonList)await coc.Leagues.GetLeagueSeasonsAsync(legendLeague.Id);

            Console.WriteLine($"Total amount of '{legendLeague.Name}' seasons: {leagueSeasons.Count}");

            foreach (var season in leagueSeasons)
            {
                Console.WriteLine($"{season.Id}");
            }
        }
Exemplo n.º 16
0
        /// <summary>
        /// Get clan versus rankings for a specific location
        /// </summary>
        public async Task GetClanVersusRankingsForASpecificLocation()
        {
            var coc       = new ClashOfClansClient(token);
            var locations = (LocationList)await coc.Locations.GetLocationsAsync();

            var location = locations["Finland"];

            Console.WriteLine($"Clan versus rankings for {location.Name}");
            var clanVersusRankings = (ClanVersusRankingList)await coc.Locations.GetClanVersusRankingAsync(location.Id);

            foreach (var clan in clanVersusRankings)
            {
                Console.WriteLine($"{clan.Rank}. {clan.Name}, clan level {clan.ClanLevel}, {clan.ClanVersusPoints} \uD83C\uDFC6");
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// Search all clans by name and/or filtering the results using various criteria.
        /// </summary>
        public async Task SearchClans()
        {
            var query = new QueryClans
            {
                Name         = "Phoenix",
                MinMembers   = 40,
                MinClanLevel = 5,
                Limit        = 10
            };

            var coc   = new ClashOfClansClient(token);
            var clans = (ClanList)await coc.Clans.SearchClansAsync(query);

            foreach (var clan in clans)
            {
                Console.WriteLine($"{clan.Tag}/{clan.Name} has {clan.Members} members and is level {clan.ClanLevel} clan");
            }
        }
Exemplo n.º 18
0
        /// <summary>
        /// Get player rankings for a specific location
        /// </summary>
        public async Task GetPlayerRankingsForASpecificLocation()
        {
            var coc       = new ClashOfClansClient(token);
            var locations = (LocationList)await coc.Locations.GetLocationsAsync();

            var location = locations["Finland"];
            var query    = new Query
            {
                Limit = 10
            };

            var playerRankings = (PlayerRankingList)await coc.Locations.GetPlayerRankingAsync(location.Id, query);

            Console.WriteLine($"{location.Name} top {query.Limit} @ {DateTime.Now}");
            foreach (var player in playerRankings)
            {
                Console.WriteLine($"Rank {player.Rank}, {player.Trophies} \uD83C\uDFC6, player {player.Name}");
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// Get league season rankings. Note that league season information is available only for Legend League.
        /// </summary>
        public async Task GetLeagueSeasonRankings()
        {
            var coc     = new ClashOfClansClient(token);
            var leagues = (LeagueList)await coc.Leagues.GetLeaguesAsync();

            var legendLeague  = leagues["Legend League"];
            var leagueSeasons = (LeagueSeasonList)await coc.Leagues.GetLeagueSeasonsAsync(legendLeague.Id);

            var lastSeason = leagueSeasons.Last();
            var query      = new Query
            {
                Limit = 100
            };

            var playerRankings = (PlayerRankingList)await coc.Leagues.GetLeagueSeasonRankingsAsync(legendLeague.Id, lastSeason.Id, query);

            foreach (var player in playerRankings)
            {
                Console.WriteLine($"{player.Rank}. {player.Name}, {player.Trophies} \uD83C\uDFC6, attacks won {player.AttackWins}, defenses won {player.DefenseWins}");
            }
        }
Exemplo n.º 20
0
 static async Task Main(string[] args)
 {
     var coc  = new ClashOfClansClient(Environment.GetEnvironmentVariable("COC_TOKEN"), TimeSpan.FromSeconds(2));
     var tag  = "#U8C2UP8L";
     var tag2 = "#P8QLVCRC";
 }