public Task <Result> Execute(CommandMetadata data, int amount) { var allKarma = ParentPlugin.GetLeaderboard(); return(TaskResult(GetLeaderboardEmbed(allKarma, (x, y) => y.Total - x.Total, x => ParentPlugin.GuildHandler.FindUser(x.UserId), x => x.ToString(), "No one has yet to recieve any karma :(", "Karma Leaderboard", "Top [amount] of karma hoarders are..", amount), string.Empty)); }
public Task <Result> Execute(CommandMetadata data) { var allKarma = ParentPlugin.GetLeaderboard(); var allVotes = allKarma.SelectMany(x => x.GetMessages()).SelectMany(x => _voteSelector(x)); var groups = allVotes.GroupBy(x => x); var dict = groups.ToDictionary(x => x.Key, x => allVotes.Count(y => x.Key == y)); var users = dict.Keys.ToArray(); return(TaskResult(GetLeaderboardEmbed(users, (x, y) => dict[y] - dict[x], x => ParentPlugin.GuildHandler.FindUser(x), x => dict[x].ToString() + " " + _voteType, $"No one has yet to be {_adjective}", $"{_type} Leaderboard", $"The most {_adjective} people on this server are..", dict.Count), string.Empty)); }