Implement various null checks
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
546eb49144
commit
d2abeb35fc
@ -61,9 +61,13 @@ public class Trivia
|
||||
|
||||
public static MessageResponse generateMainScreen()
|
||||
{
|
||||
// todo null checks
|
||||
JSONObject categoriesJson = Trivia.fetchJson(Trivia.getCategoriesLink());
|
||||
if(categoriesJson == null)
|
||||
return new MessageResponse("Error fetching trivia!", null); // todo nicer with emojis
|
||||
List<TriviaCategory> categories = Trivia.parseCategories(categoriesJson);
|
||||
if(categories.isEmpty())
|
||||
return new MessageResponse("Error parsing trivia categories!", null); // todo nicer with emojis
|
||||
|
||||
categories.sort(new TriviaCategoryComparator());
|
||||
|
||||
EmbedBuilder embedBuilder = new EmbedBuilder();
|
||||
|
@ -166,6 +166,7 @@ public class UserPunishment
|
||||
Duration duration = null;
|
||||
|
||||
AuditableRestAction<Void> punishmentAction = null;
|
||||
boolean impossible = false;
|
||||
|
||||
try {
|
||||
switch (punishmentType) {
|
||||
@ -197,6 +198,14 @@ public class UserPunishment
|
||||
}
|
||||
}
|
||||
} catch (RuntimeException ignored) {
|
||||
impossible = true;
|
||||
}
|
||||
|
||||
if(punishmentAction == null)
|
||||
impossible = true;
|
||||
|
||||
if(impossible)
|
||||
{
|
||||
// todo nicer looking with emojis
|
||||
return new MessageResponse("Sorry, I couldn't " + punishmentTypeName + " " + mentioned.getAsMention() + "!",
|
||||
null);
|
||||
|
@ -5,6 +5,7 @@ import net.dv8tion.jda.api.entities.Message;
|
||||
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
|
||||
import net.dv8tion.jda.api.entities.channel.middleman.MessageChannel;
|
||||
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
|
||||
import net.dv8tion.jda.api.requests.restaction.MessageCreateAction;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import wtf.beatrice.hidekobot.Cache;
|
||||
@ -77,11 +78,19 @@ public class TriviaCommand implements MessageCommand
|
||||
|
||||
MessageResponse response = Trivia.generateMainScreen();
|
||||
|
||||
event.getMessage().replyEmbeds(response.embed()).addActionRow(response.components()).queue(message ->
|
||||
{
|
||||
Message recvMessage = event.getMessage();
|
||||
MessageCreateAction responseAction = null;
|
||||
if(response.content() != null) responseAction = recvMessage.reply(response.content());
|
||||
else if(response.embed() != null) responseAction = recvMessage.replyEmbeds(response.embed());
|
||||
|
||||
if(responseAction != null) {
|
||||
if(response.components() != null) responseAction = responseAction.addActionRow(response.components());
|
||||
|
||||
responseAction.queue(message -> {
|
||||
Cache.getDatabaseSource().trackRanCommandReply(message, event.getAuthor());
|
||||
Cache.getDatabaseSource().queueDisabling(message);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user