diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/mediaonly/MediaOnlyChannelListener.java b/application/src/main/java/org/togetherjava/tjbot/commands/mediaonly/MediaOnlyChannelListener.java index 63b3d8512c..b2bce6613f 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/mediaonly/MediaOnlyChannelListener.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/mediaonly/MediaOnlyChannelListener.java @@ -4,9 +4,9 @@ import net.dv8tion.jda.api.MessageBuilder; import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.MessageEmbed; +import net.dv8tion.jda.api.entities.MessageType; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.requests.RestAction; -import net.dv8tion.jda.api.requests.restaction.AuditableRestAction; import org.togetherjava.tjbot.commands.MessageReceiverAdapter; import org.togetherjava.tjbot.config.Config; @@ -37,27 +37,23 @@ public void onMessageReceived(MessageReceivedEvent event) { return; } - if (messageHasNoMediaAttached(event)) { - deleteMessage(event).flatMap(any -> dmUser(event)).queue(); + Message message = event.getMessage(); + if (message.getType() == MessageType.THREAD_CREATED) { + return; + } + + if (messageHasNoMediaAttached(message)) { + message.delete().flatMap(any -> dmUser(message)).queue(); } } - private static boolean messageHasNoMediaAttached(MessageReceivedEvent event) { - Message message = event.getMessage(); + private boolean messageHasNoMediaAttached(Message message) { return message.getAttachments().isEmpty() && message.getEmbeds().isEmpty() && !message.getContentRaw().contains("http"); } - private AuditableRestAction deleteMessage(MessageReceivedEvent event) { - return event.getMessage().delete(); - } - - private RestAction dmUser(MessageReceivedEvent event) { - return dmUser(event.getMessage()); - } - - private RestAction dmUser(Message originalMessage) { - String originalMessageContent = originalMessage.getContentRaw(); + private RestAction dmUser(Message message) { + String originalMessageContent = message.getContentRaw(); MessageEmbed originalMessageEmbed = new EmbedBuilder().setDescription(originalMessageContent) .setColor(Color.ORANGE) @@ -68,7 +64,7 @@ private RestAction dmUser(Message originalMessage) { .setEmbeds(originalMessageEmbed) .build(); - return originalMessage.getAuthor() + return message.getAuthor() .openPrivateChannel() .flatMap(channel -> channel.sendMessage(dmMessage)); }