diff --git a/src/commands/general/CommandLeaderboard.java b/src/commands/general/CommandLeaderboard.java index 3d5c54d..b461077 100644 --- a/src/commands/general/CommandLeaderboard.java +++ b/src/commands/general/CommandLeaderboard.java @@ -83,13 +83,17 @@ public class CommandLeaderboard extends Command embed.title = LocStrings.stub("LeaderboardTitle"); embed.descriptionText = ""; - for(int i = 0; i < listSize && i < users.size(); ++i) + int indexToDisplay = 1; + for(int i = 0; indexToDisplay <= listSize && i < users.size(); ++i) { // Only now that we've sorted do we do the full construction and caching of users Pair userPair = users.get(i); KittyUser cachedUser = ObjectBuilderFactory.getKittyUser(guildID, userPair.Second); - embed.descriptionText += "**" + (i + 1) + ":** " + userPair.First + " - " + cachedUser.name; + if(cachedUser == null) + continue; + + embed.descriptionText += "**" + (indexToDisplay++) + ":** " + userPair.First + " - " + cachedUser.name; embed.descriptionText += "\n"; } diff --git a/src/core/ObjectBuilderFactory.java b/src/core/ObjectBuilderFactory.java index db66cc3..e376c81 100644 --- a/src/core/ObjectBuilderFactory.java +++ b/src/core/ObjectBuilderFactory.java @@ -319,8 +319,13 @@ public class ObjectBuilderFactory if(user == null) { Guild jdaGuild = kitty.getGuildById(guildID); + if(jdaGuild == null) return null; + Member jdaMember = jdaGuild.getMemberById(userID); + if(jdaMember == null) return null; + User jdaUser = jdaMember.getUser(); + if(jdaUser == null) return null; user = extractUserByJDAUser(guildID, jdaMember.getNickname(), jdaUser.getId(), jdaUser.getAvatarUrl(), jdaUser.getId()); updateUser(user, jdaMember);