public Task TriviaPrintTopScoresAsync(IUser user = null, int numberOfScores = 10) { user ??= Context.User; // Exit early if no user is passed if (user == null) { return(null); } int userColLen = 25; string userColString = "User"; int scoreColLen = 8; string scoreColString = "Score"; int winsColLen = 5; string winsColString = "Wins"; var scores = _lifetimeScorekeeper.GetTopScores(numberOfScores); string scoreString = "```" + "Top Scores:\n" + userColString.PadRight(userColLen) + scoreColString.PadRight(scoreColLen) + winsColString.PadRight(winsColLen) + "\n" + new string('-', userColLen + scoreColLen + winsColLen) + "\n"; foreach (UserLifetimeScoreModel score in scores) { // Get the user's username. If no user with the user ID is found, just return the ID instead string username = _discord.GetUser(score.UserID)?.Username ?? score.UserID.ToString(); scoreString += $"{username.PadRight(userColLen)}{score.Score.ToString().PadBoth(scoreColLen)}{score.Wins.ToString().PadBoth(winsColLen)}\n"; } scoreString += "```"; ReplyAsync(scoreString); return(null); }
public Task PrintLifetimeScores(int numberOfscores = 10) { if (numberOfscores > 25) { numberOfscores = 50; } List <UserLifetimeScoreModel> scores = _lifetimeScorekeeper.GetTopScores(numberOfscores); string scoresString = "Top Scores\n"; if (scores.Count > 0) { foreach (UserLifetimeScoreModel score in scores) { scoresString += $"{ score.PlayerId } - { score.Score }\n"; } } messageSendingQueue.Enqueue(scoresString); return(null); }