fix npe and maybe fix null users????????
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 39s
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 39s
This commit is contained in:
parent
2349f10b35
commit
dc7e44239f
41
src/main/java/cc/fascinated/bat/common/UserUtils.java
Normal file
41
src/main/java/cc/fascinated/bat/common/UserUtils.java
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
package cc.fascinated.bat.common;
|
||||||
|
|
||||||
|
import cc.fascinated.bat.service.DiscordService;
|
||||||
|
import lombok.extern.log4j.Log4j2;
|
||||||
|
import net.dv8tion.jda.api.entities.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Fascinated (fascinated7)
|
||||||
|
*/
|
||||||
|
@Log4j2
|
||||||
|
public class UserUtils {
|
||||||
|
/**
|
||||||
|
* Gets the user with the given id
|
||||||
|
*
|
||||||
|
* @param id the id of the user
|
||||||
|
* @param retries the amount of retries
|
||||||
|
* @return the user with the given id
|
||||||
|
*/
|
||||||
|
private static User getUser(String id, int retries) {
|
||||||
|
if (retries >= 25) {
|
||||||
|
log.error("Failed to find user \"{}\" after {} retries.", id, retries);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
User user = DiscordService.JDA.getUserById(id);
|
||||||
|
if (user == null) {
|
||||||
|
return getUser(id, retries + 1);
|
||||||
|
}
|
||||||
|
log.info("Found user \"{}\" after {} retries.", id, retries);
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the user with the given id
|
||||||
|
*
|
||||||
|
* @param id the id of the user
|
||||||
|
* @return the user with the given id
|
||||||
|
*/
|
||||||
|
public static User getUser(String id) {
|
||||||
|
return getUser(id, 0);
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,5 @@
|
|||||||
package cc.fascinated.bat.features.drag;
|
package cc.fascinated.bat.features.drag;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
@ -2,7 +2,6 @@ package cc.fascinated.bat.features.drag.command;
|
|||||||
|
|
||||||
import cc.fascinated.bat.command.BatCommand;
|
import cc.fascinated.bat.command.BatCommand;
|
||||||
import cc.fascinated.bat.command.CommandInfo;
|
import cc.fascinated.bat.command.CommandInfo;
|
||||||
import io.sentry.protocol.App;
|
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
@ -45,7 +45,7 @@ public class TMDBFeature extends Feature {
|
|||||||
public static EmbedBuilder pageMovie(@NonNull TMDBService tmdbService, @NonNull String query, String language, String primaryReleaseYear, String region, String year, int movie, boolean adult) {
|
public static EmbedBuilder pageMovie(@NonNull TMDBService tmdbService, @NonNull String query, String language, String primaryReleaseYear, String region, String year, int movie, boolean adult) {
|
||||||
List<Movie> movieList = tmdbService.lookupMovies(query, adult, language, primaryReleaseYear, region, year);
|
List<Movie> movieList = tmdbService.lookupMovies(query, adult, language, primaryReleaseYear, region, year);
|
||||||
|
|
||||||
if (movieList.isEmpty()) {
|
if (movieList == null || movieList.isEmpty()) {
|
||||||
return EmbedUtils.errorEmbed()
|
return EmbedUtils.errorEmbed()
|
||||||
.setDescription("No movieList found with the provided query + options!");
|
.setDescription("No movieList found with the provided query + options!");
|
||||||
}
|
}
|
||||||
@ -80,7 +80,7 @@ public class TMDBFeature extends Feature {
|
|||||||
public static EmbedBuilder pageSeries(@NonNull TMDBService tmdbService, @NonNull String query, String language, int firstAirDateYear, int year, int series, boolean adult) {
|
public static EmbedBuilder pageSeries(@NonNull TMDBService tmdbService, @NonNull String query, String language, int firstAirDateYear, int year, int series, boolean adult) {
|
||||||
List<TvSeries> seriesList = tmdbService.lookupSeries(query, adult, language, firstAirDateYear, year);
|
List<TvSeries> seriesList = tmdbService.lookupSeries(query, adult, language, firstAirDateYear, year);
|
||||||
|
|
||||||
if (seriesList.isEmpty()) {
|
if (seriesList == null || seriesList.isEmpty()) {
|
||||||
return EmbedUtils.errorEmbed()
|
return EmbedUtils.errorEmbed()
|
||||||
.setDescription("No series found with the provided query + options!");
|
.setDescription("No series found with the provided query + options!");
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ package cc.fascinated.bat.model;
|
|||||||
import cc.fascinated.bat.BatApplication;
|
import cc.fascinated.bat.BatApplication;
|
||||||
import cc.fascinated.bat.common.ProfileHolder;
|
import cc.fascinated.bat.common.ProfileHolder;
|
||||||
import cc.fascinated.bat.common.Serializable;
|
import cc.fascinated.bat.common.Serializable;
|
||||||
|
import cc.fascinated.bat.common.UserUtils;
|
||||||
import cc.fascinated.bat.features.namehistory.profile.user.NameHistoryProfile;
|
import cc.fascinated.bat.features.namehistory.profile.user.NameHistoryProfile;
|
||||||
import cc.fascinated.bat.features.scoresaber.profile.user.ScoreSaberProfile;
|
import cc.fascinated.bat.features.scoresaber.profile.user.ScoreSaberProfile;
|
||||||
import cc.fascinated.bat.service.DiscordService;
|
import cc.fascinated.bat.service.DiscordService;
|
||||||
@ -59,7 +60,7 @@ public class BatUser extends ProfileHolder {
|
|||||||
boolean newAccount = this.document.isEmpty();
|
boolean newAccount = this.document.isEmpty();
|
||||||
this.createdAt = newAccount ? new Date() : document.getDate("createdAt");
|
this.createdAt = newAccount ? new Date() : document.getDate("createdAt");
|
||||||
|
|
||||||
User user = DiscordService.JDA.getUserById(id);
|
User user = UserUtils.getUser(id);
|
||||||
if (user != null) {
|
if (user != null) {
|
||||||
this.user = user;
|
this.user = user;
|
||||||
this.globalName = user.getGlobalName();
|
this.globalName = user.getGlobalName();
|
||||||
|
Loading…
Reference in New Issue
Block a user