= Covered leaderboard to prevent bad parses and condensed command manager

This commit is contained in:
Matthew Cech
2019-09-12 22:24:38 -07:00
parent f49711b739
commit 44efcef7ae
2 changed files with 20 additions and 16 deletions
+17 -7
View File
@@ -49,15 +49,25 @@ public class CommandLeaderboard extends Command
if(userID.length() < 1) if(userID.length() < 1)
continue; continue;
// Look up in the database the user beans String dbUserData = null;
String dbUserData = DatabaseManager.instance.globalGetRemoteValue(guildID + userID); Long parsedBeans = null;
// Leverage the fact that the user is automatically read and parsed when constructed. try
Long parsedBeans = KittyUser.parseBeans(KittyUser.prepareFromString(dbUserData)); {
// Look up in the database the user beans
dbUserData = DatabaseManager.instance.globalGetRemoteValue(guildID + userID);
// If we were only using cached users, we would use this. However, we're not. // Leverage the fact that the user is automatically read and parsed when constructed.
// KittyUser cachedUser = ObjectBuilderFactory.getCachedUser(guildID, userID); parsedBeans = KittyUser.parseBeans(KittyUser.prepareFromString(dbUserData));
users.add(new Pair<Long, String>(parsedBeans, userID));
// If we were only using cached users, we would use this. However, we're not.
// KittyUser cachedUser = ObjectBuilderFactory.getCachedUser(guildID, userID);
users.add(new Pair<Long, String>(parsedBeans, userID));
}
catch (Exception e)
{
GlobalLog.error(LogFilter.Command, "Issue parsing for leaderboard,\ndbUserData:" + dbUserData + "\nparsedBeans:" + parsedBeans);
}
} }
} }
+2 -8
View File
@@ -11,14 +11,7 @@ import commands.mod.CommandModMain;
import commands.music.CommandMusicMain; import commands.music.CommandMusicMain;
import commands.poll.CommandPollMain; import commands.poll.CommandPollMain;
import commands.raffle.CommandRaffleMain; import commands.raffle.CommandRaffleMain;
import dataStructures.KittyChannel; import dataStructures.*;
import dataStructures.KittyGuild;
import dataStructures.KittyRating;
import dataStructures.KittyRole;
import dataStructures.KittyUser;
import dataStructures.Pair;
import dataStructures.Response;
import dataStructures.UserInput;
import utils.GlobalLog; import utils.GlobalLog;
import utils.LogFilter; import utils.LogFilter;
@@ -113,6 +106,7 @@ public class CommandManager
this.register(LocCommands.stub("raffle"), new CommandRaffleMain(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("raffle"), new CommandRaffleMain(KittyRole.General, KittyRating.Safe));
this.register(LocCommands.stub("poll"), new CommandPollMain(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("poll"), new CommandPollMain(KittyRole.General, KittyRating.Safe));
this.register(LocCommands.stub("music"), new CommandMusicMain(KittyRole.General, KittyRating.Safe)); this.register(LocCommands.stub("music"), new CommandMusicMain(KittyRole.General, KittyRating.Safe));
this.register(LocCommands.stub("defaultdance"), new CommandDefaultDance(KittyRole.General, KittyRating.Safe));
} }
// Allows the command manager to keep track of a command. Takes a pair (the un-localized and localzied commands) // Allows the command manager to keep track of a command. Takes a pair (the un-localized and localzied commands)