private void RetrieveData() { this.Dispatcher.Invoke(() => { RefreshSpinner.Spin = true; }); var playerIDs = OpenDotaAPI.GetPlayerIDs(); for (int i = 0; i < 10; i++) { if (i < playerIDs.Count) { PlayerDisplays[i].Update(playerIDs[i]); } else { PlayerDisplays[i].Update(""); } } }
public async Task Test() { List <String> players = OpenDotaAPI.GetPlayerIDs(); PlayerData data = await OpenDotaAPI.GetPlayerData(players[0]); if (data.profile != null) { //await Context.Channel.SendMessageAsync($"{data.solo_competitive_rank}"); if (data.solo_competitive_rank == null) { await ReplyAsync($"empty"); } else { await ReplyAsync($"this"); } } else { //await Context.Channel.SendMessageAsync("This is null"); await ReplyAsync($"This is null"); } }
public async Task Battlecup() { // get player IDs from server log List <String> players = OpenDotaAPI.GetPlayerIDs(); var result = String.Join(", ", players.ToArray()); // find team side int master = players.IndexOf("110093717"); if (master < 5) { players.RemoveRange(0, 5); } else { players.RemoveRange(5, 5); } /* * var builder = new EmbedBuilder() * { * Color = new Color(114, 137, 218), * }; * * StringBuilder des = new StringBuilder(); * * foreach (string player in players) * { * des.AppendLine($"{player}"); * } * * builder.Description = des.ToString(); * await ReplyAsync("", false, builder.Build()); */ StringBuilder ranks = new StringBuilder(); StringBuilder names = new StringBuilder(); StringBuilder mmr = new StringBuilder(); var builder = new EmbedBuilder() { Color = new Color(114, 137, 218), }; foreach (String p in players) { PlayerData pData = await OpenDotaAPI.GetPlayerData(p); int rank = 0; if (pData.rank_tier != null) { rank = Convert.ToInt32(pData.rank_tier); } if (pData.profile != null) { names.AppendLine($"{pData.profile.personaname}"); // MMR int solo = pData.solo_competitive_rank == null ? 0 : int.Parse(pData.solo_competitive_rank); int party = pData.competitive_rank == null ? 0 : int.Parse(pData.competitive_rank); int?est = pData.mmr_estimate.estimate; if (solo == 0 && party == 0) { mmr.AppendLine($"Est: {est}"); } else if (solo > party) { mmr.AppendLine($"Solo: {solo}"); } else if (solo < party) { mmr.AppendLine($"Party: {party}"); } else { mmr.AppendLine($"Est: {est}"); } } else { names.AppendLine("Anonymous"); mmr.AppendLine("N/A"); } if (rank == 0) { ranks.AppendLine($"[Uncalibrated](https://www.opendota.com/players/{p})"); } else if ((rank / 10) == 8) { ranks.AppendLine($"[Immortal {pData.leaderboard_rank}](https://www.opendota.com/players/{p})"); } else { ranks.AppendLine($"[{(Medal)(rank / 10)} {rank % 10}](https://www.opendota.com/players/{p})"); } } builder.AddField(x => { x.Name = "Players"; x.Value = names; x.IsInline = true; }); builder.AddField(x => { x.Name = "Rank"; x.Value = ranks; x.IsInline = true; }); builder.AddField(x => { x.Name = "MMR"; x.Value = mmr; x.IsInline = true; }); await ReplyAsync("", false, builder.Build()); /* Find past 9 battlecup games * MatchData[] data = await OpenDotaAPI.GetPlayerMatches("110093717", 9, 0, 9); * * var builder = new EmbedBuilder() * { * Color = new Color(114, 137, 218), * }; * * StringBuilder des = new StringBuilder(); * * foreach (MatchData match in data) * { * des.AppendLine($@"https://www.opendota.com/matches/{match.match_id}"); * } * * builder.Description = des.ToString(); * await ReplyAsync("", false, builder.Build()); * //await Context.Channel.SendMessageAsync($@"https://www.opendota.com/matches/{data[0].match_id}"); */ }
public async Task MedalCheck(params string[] cmds) { // Get player IDs from server log List <String> players = OpenDotaAPI.GetPlayerIDs(); StringBuilder ranks = new StringBuilder(); StringBuilder names = new StringBuilder(); StringBuilder mmr = new StringBuilder(); var builder = new EmbedBuilder() { Color = new Color(114, 137, 218), }; foreach (String p in players) { PlayerData pData = await OpenDotaAPI.GetPlayerData(p); int rank = 0; if (pData.rank_tier != null) { rank = Convert.ToInt32(pData.rank_tier); } if (pData.profile != null) { names.AppendLine($"{pData.profile.personaname}"); // MMR int solo = pData.solo_competitive_rank == null ? 0 : int.Parse(pData.solo_competitive_rank); int party = pData.competitive_rank == null ? 0 : int.Parse(pData.competitive_rank); int?est = pData.mmr_estimate.estimate; if (solo == 0 && party == 0) { mmr.AppendLine($"Est: {est}"); } else if (solo > party) { mmr.AppendLine($"Solo: {solo}"); } else if (solo < party) { mmr.AppendLine($"Party: {party}"); } else { mmr.AppendLine($"Est: {est}"); } } else { names.AppendLine("Anonymous"); mmr.AppendLine("N/A"); } if (rank == 0) { ranks.AppendLine($"[Uncalibrated](https://www.opendota.com/players/{p})"); } else if ((rank / 10) == 8) { ranks.AppendLine($"[Immortal {pData.leaderboard_rank}](https://www.opendota.com/players/{p})"); } else { ranks.AppendLine($"[{(Medal)(rank / 10)} {rank % 10}](https://www.opendota.com/players/{p})"); } } builder.AddField(x => { x.Name = "Players"; x.Value = names; x.IsInline = true; }); builder.AddField(x => { x.Name = "Rank"; x.Value = ranks; x.IsInline = true; }); builder.AddField(x => { x.Name = "MMR"; x.Value = mmr; x.IsInline = true; }); await ReplyAsync("", false, builder.Build()); }