maybe fix some NPEs when calling events
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 50s
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 50s
This commit is contained in:
@ -52,12 +52,34 @@ public class UserService implements EventListener {
|
||||
* @param id The ID of the user
|
||||
* @return The user
|
||||
*/
|
||||
public BatUser getUser(@NonNull String id) {
|
||||
public BatUser getUser(@NonNull String id, User user) {
|
||||
long before = System.currentTimeMillis();
|
||||
// User is cached
|
||||
if (users.containsKey(id)) {
|
||||
return users.get(id);
|
||||
}
|
||||
// User is not cached
|
||||
Document document = MongoService.INSTANCE.getUsersCollection().find(Filters.eq("_id", id)).first();
|
||||
if (document != null) {
|
||||
BatUser batUser = new BatUser(id, user, document);
|
||||
users.put(id, batUser);
|
||||
log.info("Loaded user \"{}\" in {}ms", batUser.getName(),System.currentTimeMillis() - before);
|
||||
return batUser;
|
||||
}
|
||||
// New user
|
||||
BatUser batUser = new BatUser(id, user, new Document());
|
||||
users.put(id, batUser);
|
||||
log.info("Created user \"{}\" - \"{}\"", batUser.getName(), batUser.getId());
|
||||
return batUser;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets a user by its ID
|
||||
*
|
||||
* @param id The ID of the user
|
||||
* @return The user
|
||||
*/
|
||||
public BatUser getUser(@NonNull String id) {
|
||||
User user = DiscordService.JDA.getUserById(id);
|
||||
if (user == null) {
|
||||
log.warn("Attempted to get user with ID \"{}\" but they do not exist", id);
|
||||
@ -67,19 +89,7 @@ public class UserService implements EventListener {
|
||||
log.warn("Attempted to get user with ID \"{}\" but they are a bot", id);
|
||||
return null;
|
||||
}
|
||||
// User is not cached
|
||||
Document document = MongoService.INSTANCE.getUsersCollection().find(Filters.eq("_id", id)).first();
|
||||
if (document != null) {
|
||||
BatUser batUser = new BatUser(id, document);
|
||||
users.put(id, batUser);
|
||||
log.info("Loaded user \"{}\" in {}ms", batUser.getName(),System.currentTimeMillis() - before);
|
||||
return batUser;
|
||||
}
|
||||
// New user
|
||||
BatUser batUser = new BatUser(id, new Document());
|
||||
users.put(id, batUser);
|
||||
log.info("Created user \"{}\" - \"{}\"", batUser.getName(), batUser.getId());
|
||||
return batUser;
|
||||
return getUser(id, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user