public async Task Rank() { var topAccounts = UserAccounts.GetTop(10, RankEnum.Level); var embed = new EmbedBuilder(); embed.WithColor(Colors.Get("Iodem")); string[] Emotes = new string[] { "🥇", "🥈", "🥈", "🥉", "🥉", "🥉", " ", " ", " ", " " }; var builder = new StringBuilder(); for (int i = 0; i < Math.Min(topAccounts.Count(), 10); i++) { var curAccount = topAccounts[i]; builder.Append($"`{i + 1}` {Emotes[i]} {curAccount.Name.PadRight(15)} - `Lv{curAccount.LevelNumber}` - `{curAccount.XP}xp`\n"); } var rank = UserAccounts.GetRank(Context.User); //Console.WriteLine(rank); var account = UserAccounts.GetAccount(Context.User); if (rank >= 10) { builder.Append("... \n"); builder.Append($"`{rank + 1}` {Context.User.Username.PadRight(15)} - `Lv{account.LevelNumber}` - `{account.XP}xp`"); } embed.WithDescription(builder.ToString()); await Context.Channel.SendMessageAsync("", false, embed.Build()); }
public async Task Rank() { var topAccounts = UserAccounts.GetTop(); var embed = new EmbedBuilder(); embed.WithColor(Colors.Get("Iodem")); string[] emotes = { "🥇", "🥈", "🥈", "🥉", "🥉", "🥉", " ", " ", " ", " " }; var builder = new StringBuilder(); for (var i = 0; i < Math.Min(topAccounts.Count, 10); i++) { var curAccount = topAccounts[i]; builder.Append( $"`{i + 1}` {emotes[i]} {curAccount.Name?.PadRight(15) ?? curAccount.Id.ToString()} - `Lv{curAccount.LevelNumber}` - `{curAccount.Xp}xp`{(curAccount.NewGames >= 1 ? $"- `({curAccount.TotalXp}xp total)`" : "")}\n"); } //Console.WriteLine(rank); var account = EntityConverter.ConvertUser(Context.User); var rank = UserAccounts.GetRank(account); if (rank >= 10) { builder.Append("... \n"); builder.Append( $"`{rank + 1}` {Context.User.Username,-15} - `Lv{account.LevelNumber}` - `{account.Xp}xp`{(account.NewGames >= 1 ? $"- `({account.TotalXp}xp total)`" : "")}"); } embed.WithDescription(builder.ToString()); await Context.Channel.SendMessageAsync("", false, embed.Build()); }
public async Task Showdown(RankEnum type = RankEnum.Solo) { var topAccounts = UserAccounts.GetTop(10, type); var embed = new EmbedBuilder(); embed.WithColor(Colors.Get("Iodem")); string[] Emotes = new string[] { "🥇", "🥈", "🥉", "", "" }; var builder = new StringBuilder(); for (int i = 0; i < Math.Min(topAccounts.Count(), 5); i++) { var curAccount = topAccounts[i]; switch (type) { case RankEnum.Solo: builder.Append($"`{i + 1}` {Emotes[i]} {curAccount.Name.PadRight(15)} - `{curAccount.ServerStats.ColossoHighestRoundEndlessSolo}`\n"); break; case RankEnum.Duo: builder.Append($"`{i + 1}` {Emotes[i]} {curAccount.ServerStats.ColossoHighestRoundEndlessDuoNames} - `{curAccount.ServerStats.ColossoHighestRoundEndlessDuo}`\n"); break; case RankEnum.Trio: builder.Append($"`{i + 1}` {Emotes[i]} {curAccount.ServerStats.ColossoHighestRoundEndlessTrioNames} - `{curAccount.ServerStats.ColossoHighestRoundEndlessTrio}`\n"); break; case RankEnum.Quad: builder.Append($"`{i + 1}` {Emotes[i]} {curAccount.ServerStats.ColossoHighestRoundEndlessQuadNames} - `{curAccount.ServerStats.ColossoHighestRoundEndlessQuad}`\n"); break; } } var rank = UserAccounts.GetRank(Context.User, type); //Console.WriteLine(rank); var account = UserAccounts.GetAccount(Context.User); if (rank >= 5) { builder.Append("... \n"); switch (type) { case RankEnum.Solo: builder.Append($"`{rank + 1}` {account.Name.PadRight(15)} - `{account.ServerStats.ColossoHighestRoundEndlessSolo}`"); break; case RankEnum.Duo: builder.Append($"`{rank + 1}` {account.ServerStats.ColossoHighestRoundEndlessDuoNames} - `{account.ServerStats.ColossoHighestRoundEndlessDuo}`"); break; case RankEnum.Trio: builder.Append($"`{rank + 1}` {account.ServerStats.ColossoHighestRoundEndlessTrioNames} - `{account.ServerStats.ColossoHighestRoundEndlessTrio}`"); break; case RankEnum.Quad: builder.Append($"`{rank + 1}` {account.ServerStats.ColossoHighestRoundEndlessQuadNames} - `{account.ServerStats.ColossoHighestRoundEndlessQuad}`"); break; } } if (type == RankEnum.Solo) { embed.WithFooter("Honorary Mention: Smeecko - 81, by breaking the Time-Space Continuum"); } embed.WithDescription(builder.ToString()); await Context.Channel.SendMessageAsync("", false, embed.Build()); }
public async Task Showdown(RankEnum type = RankEnum.Solo, EndlessMode mode = EndlessMode.Default) { var topAccounts = UserAccounts.GetTop(type, mode); if (type == RankEnum.Solo) topAccounts = topAccounts.OrderByDescending(d => (d.ServerStats.GetStreak(mode) + d.ServerStatsTotal.GetStreak(mode)).Solo).ToList(); else topAccounts = topAccounts.Where(p => (p.ServerStats.GetStreak(mode) + p.ServerStatsTotal.GetStreak(mode)).GetEntry(type).Item1 > 0) .GroupBy(p => (p.ServerStats.GetStreak(mode) + p.ServerStatsTotal.GetStreak(mode)).GetEntry(type).Item2) .Select(group => group.First()) .OrderByDescending(d => (d.ServerStats.GetStreak(mode) + d.ServerStatsTotal.GetStreak(mode)).GetEntry(type).Item1) .ToList(); var embed = new EmbedBuilder(); embed.WithColor(Colors.Get("Iodem")); string[] emotes = { "🥇", "🥈", "🥉", "", "" }; var builder = new StringBuilder(); for (var i = 0; i < Math.Min(topAccounts.Count, 5); i++) { var curAccount = topAccounts.ElementAt(i); var streak = mode == EndlessMode.Default ? curAccount.ServerStats.EndlessStreak + curAccount.ServerStatsTotal.EndlessStreak : curAccount.ServerStats.LegacyStreak + curAccount.ServerStatsTotal.LegacyStreak; switch (type) { case RankEnum.Solo: builder.Append($"`{i + 1}` {emotes[i]} {curAccount.Name,-15} - `{streak.Solo}`\n"); break; case RankEnum.Duo: builder.Append($"`{i + 1}` {emotes[i]} {streak.DuoNames} - `{streak.Duo}`\n"); break; case RankEnum.Trio: builder.Append($"`{i + 1}` {emotes[i]} {streak.TrioNames} - `{streak.Trio}`\n"); break; case RankEnum.Quad: builder.Append($"`{i + 1}` {emotes[i]} {streak.QuadNames} - `{streak.Quad}`\n"); break; } } //Console.WriteLine(rank); var account = EntityConverter.ConvertUser(Context.User); var rank = UserAccounts.GetRank(account, type, mode); if (rank >= 5) { builder.Append("... \n"); var streak = mode == EndlessMode.Default ? account.ServerStats.EndlessStreak + account.ServerStatsTotal.EndlessStreak : account.ServerStats.LegacyStreak + account.ServerStatsTotal.LegacyStreak; switch (type) { case RankEnum.Solo: builder.Append($"`{rank + 1}` {account.Name,-15} - `{streak.Solo}`"); break; case RankEnum.Duo: builder.Append($"{streak.DuoNames} - `{streak.Duo}`"); break; case RankEnum.Trio: builder.Append($"{streak.TrioNames} - `{streak.Trio}`"); break; case RankEnum.Quad: builder.Append($"{streak.QuadNames} - `{streak.Quad}`"); break; } } if (type == RankEnum.Solo && mode == EndlessMode.Legacy) embed.WithFooter("Honorary Mention: Smeecko - 81, by breaking the Time-Space Continuum"); embed.WithDescription(builder.ToString()); await Context.Channel.SendMessageAsync("", false, embed.Build()); }
public async Task Showdown(RankEnum type = RankEnum.Solo, EndlessMode mode = EndlessMode.Default) { var topAccounts = UserAccounts.GetTop(type, mode).Take(10); var embed = new EmbedBuilder(); embed.WithColor(Colors.Get("Iodem")); string[] Emotes = new string[] { "🥇", "🥈", "🥉", "", "" }; var builder = new StringBuilder(); for (int i = 0; i < Math.Min(topAccounts.Count(), 5); i++) { var curAccount = topAccounts.ElementAt(i); var streak = mode == EndlessMode.Default ? curAccount.ServerStats.EndlessStreak + curAccount.ServerStatsTotal.EndlessStreak : curAccount.ServerStats.LegacyStreak + curAccount.ServerStats.EndlessStreak; switch (type) { case RankEnum.Solo: builder.Append($"`{i + 1}` {Emotes[i]} {curAccount.Name,-15} - `{streak.Solo}`\n"); break; case RankEnum.Duo: builder.Append($"`{i + 1}` {Emotes[i]} {streak.DuoNames} - `{streak.Duo}`\n"); break; case RankEnum.Trio: builder.Append($"`{i + 1}` {Emotes[i]} {streak.TrioNames} - `{streak.Trio}`\n"); break; case RankEnum.Quad: builder.Append($"`{i + 1}` {Emotes[i]} {streak.Quad} - `{streak.QuadNames}\n"); break; } } var rank = UserAccounts.GetRank(Context.User, type); //Console.WriteLine(rank); var account = UserAccounts.GetAccount(Context.User); if (rank >= 5) { builder.Append("... \n"); var streak = mode == EndlessMode.Default ? account.ServerStats.EndlessStreak + account.ServerStatsTotal.EndlessStreak : account.ServerStats.LegacyStreak + account.ServerStats.EndlessStreak; switch (type) { case RankEnum.Solo: builder.Append($"`{rank + 1}` {account.Name,-15} - `{streak.Solo}`"); break; case RankEnum.Duo: builder.Append($"`{rank + 1}` {streak.DuoNames} - `{streak.Duo}`"); break; case RankEnum.Trio: builder.Append($"`{rank + 1}` {streak.TrioNames} - `{streak.Trio}`"); break; case RankEnum.Quad: builder.Append($"`{rank + 1}` {streak.QuadNames} - `{streak.Quad}`"); break; } } if (type == RankEnum.Solo && mode == EndlessMode.Legacy) { embed.WithFooter("Honorary Mention: Smeecko - 81, by breaking the Time-Space Continuum"); } embed.WithDescription(builder.ToString()); await Context.Channel.SendMessageAsync("", false, embed.Build()); }