-
-
Notifications
You must be signed in to change notification settings - Fork 104
Closed
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomershelp wantedpriority: normal
Description
The ScamBlocker can display a number of actions (buttons) on its message. In a few of its flows, it uses List.of() (empty list) as list-of-buttons, when it does not want to show any buttons.
However, this leads to the code using .setActionRow(confirmDialog) (where latter is the empty list), running into a check of JDA that throws:
One of the EventListeners had an uncaught exception
java.lang.IllegalArgumentException: Cannot have empty row! at net.dv8tion.jda.internal.utils.Checks.check(Checks.java:61) at net.dv8tion.jda.api.interactions.components.ActionRow.of(ActionRow.java:119) at net.dv8tion.jda.api.interactions.components.ActionRow.of(ActionRow.java:100) at net.dv8tion.jda.api.utils.messages.MessageRequest.setActionRow(MessageRequest.java:291) at org.togetherjava.tjbot.commands.moderation.scam.ScamBlocker.reportScamMessage(ScamBlocker.java:246) at org.togetherjava.tjbot.commands.moderation.scam.ScamBlocker.takeActionAutoDeleteAndQuarantine(ScamBlocker.java:190) at org.togetherjava.tjbot.commands.moderation.scam.ScamBlocker.takeAction(ScamBlocker.java:161) at org.togetherjava.tjbot.commands.moderation.scam.ScamBlocker.onMessageReceived(ScamBlocker.java:140) at org.togetherjava.tjbot.commands.system.BotCore.lambda$onMessageReceived$9(BotCore.java:205) at java.base/java.util.stream.ForEac...
The fix is simple. If the list is empty, it must not use .setActionRow, but simply skip that part of the code.
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomershelp wantedpriority: normal