🚑 Fix cache for stats

This commit is contained in:
SebClem 2020-11-23 14:29:44 +01:00
parent 922c03f87c
commit 8dd6c760dc
2 changed files with 19 additions and 3 deletions

View File

@ -1,15 +1,30 @@
package net.Broken.Tools;
import net.Broken.DB.Entity.UserEntity;
import net.Broken.MainBot;
import net.dv8tion.jda.api.entities.Guild;
import net.dv8tion.jda.api.entities.User;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.List;
public class CacheTools {
private static Logger logger = LogManager.getLogger();
public static void loadAllGuildMembers() {
List<Guild> guilds = MainBot.jda.getGuilds();
for (Guild guild : guilds) {
guild.loadMembers().get();
}
}
public static User getJdaUser(UserEntity userEntity) {
User user = MainBot.jda.getUserById(userEntity.getJdaId());
if (user == null) {
logger.debug("User cache not found for " + userEntity.getName() + ", fetching user.");
user = MainBot.jda.retrieveUserById(userEntity.getJdaId()).complete();
}
return user;
}
}

View File

@ -6,6 +6,7 @@ import net.Broken.DB.Repository.UserRepository;
import net.Broken.DB.Repository.UserStatsRepository;
import net.Broken.MainBot;
import net.Broken.SpringContext;
import net.Broken.Tools.CacheTools;
import net.Broken.Tools.EmbedMessageUtils;
import net.Broken.Tools.UserManager.Exceptions.UnknownTokenException;
import net.Broken.Tools.UserManager.UserUtils;
@ -58,7 +59,7 @@ public class UserStatsUtils {
}
public List<UserStats> getUserStats(UserEntity userEntity) {
User jdaUser = MainBot.jda.getUserById(userEntity.getJdaId());
User jdaUser = CacheTools.getJdaUser(userEntity);
//TODO clean database for deleted users
if (jdaUser == null){