From a7f110251e92c111226cae6b2a1094ad45b8caef Mon Sep 17 00:00:00 2001 From: Taz Date: Fri, 2 Sep 2022 22:28:11 +0530 Subject: [PATCH 1/5] fixed thread creation warns in media only channels --- .../mediaonly/MediaOnlyChannelListener.java | 56 ++++++++----------- 1 file changed, 22 insertions(+), 34 deletions(-) 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..3e2481ed36 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 @@ -5,8 +5,6 @@ import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.MessageEmbed; 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,39 +35,29 @@ public void onMessageReceived(MessageReceivedEvent event) { return; } - if (messageHasNoMediaAttached(event)) { - deleteMessage(event).flatMap(any -> dmUser(event)).queue(); - } - } - - private static boolean messageHasNoMediaAttached(MessageReceivedEvent event) { Message message = event.getMessage(); - 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(); - MessageEmbed originalMessageEmbed = - new EmbedBuilder().setDescription(originalMessageContent) - .setColor(Color.ORANGE) - .build(); - - Message dmMessage = new MessageBuilder( - "Hey there, you posted a message without media (image, video, link) in a media-only channel. Please see the description of the channel for details and then repost with media attached, thanks 😀") - .setEmbeds(originalMessageEmbed) - .build(); + if (message.toString().contains("THREAD_CREATED")) { + return; + } - return originalMessage.getAuthor() - .openPrivateChannel() - .flatMap(channel -> channel.sendMessage(dmMessage)); + if (message.getAttachments().isEmpty() && message.getEmbeds().isEmpty() + && !message.getContentRaw().contains("http")) { + message.delete().flatMap(any -> { + String originalMessageContent = message.getContentRaw(); + MessageEmbed originalMessageEmbed = + new EmbedBuilder().setDescription(originalMessageContent) + .setColor(Color.ORANGE) + .build(); + + Message dmMessage = new MessageBuilder( + "Hey there, you posted a message without media (image, video, link) in a media-only channel. Please see the description of the channel for details and then repost with media attached, thanks 😀") + .setEmbeds(originalMessageEmbed) + .build(); + + return message.getAuthor() + .openPrivateChannel() + .flatMap(channel -> channel.sendMessage(dmMessage)); + }).queue(); + } } } From 2b83fa7e8213f1536f9e8320c9a660c920a6d118 Mon Sep 17 00:00:00 2001 From: Taz Date: Sat, 3 Sep 2022 09:53:21 +0530 Subject: [PATCH 2/5] made methods --- .../mediaonly/MediaOnlyChannelListener.java | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) 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 3e2481ed36..8dba66ffac 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 @@ -5,6 +5,7 @@ import net.dv8tion.jda.api.entities.Message; import net.dv8tion.jda.api.entities.MessageEmbed; import net.dv8tion.jda.api.events.message.MessageReceivedEvent; +import net.dv8tion.jda.api.requests.RestAction; import org.togetherjava.tjbot.commands.MessageReceiverAdapter; import org.togetherjava.tjbot.config.Config; @@ -36,28 +37,35 @@ public void onMessageReceived(MessageReceivedEvent event) { } Message message = event.getMessage(); + // Checks if it's a thread creation message. No need to do anything in that case then if (message.toString().contains("THREAD_CREATED")) { return; } - if (message.getAttachments().isEmpty() && message.getEmbeds().isEmpty() - && !message.getContentRaw().contains("http")) { - message.delete().flatMap(any -> { - String originalMessageContent = message.getContentRaw(); - MessageEmbed originalMessageEmbed = - new EmbedBuilder().setDescription(originalMessageContent) - .setColor(Color.ORANGE) - .build(); - - Message dmMessage = new MessageBuilder( - "Hey there, you posted a message without media (image, video, link) in a media-only channel. Please see the description of the channel for details and then repost with media attached, thanks 😀") - .setEmbeds(originalMessageEmbed) - .build(); - - return message.getAuthor() - .openPrivateChannel() - .flatMap(channel -> channel.sendMessage(dmMessage)); - }).queue(); + if (messageHasNoMediaAttached(message)) { + message.delete().flatMap(any -> dmUser(message)).queue(); } } + + private boolean messageHasNoMediaAttached(Message message) { + return message.getAttachments().isEmpty() && message.getEmbeds().isEmpty() + && !message.getContentRaw().contains("http"); + } + + private RestAction dmUser(Message message) { + String originalMessageContent = message.getContentRaw(); + MessageEmbed originalMessageEmbed = + new EmbedBuilder().setDescription(originalMessageContent) + .setColor(Color.ORANGE) + .build(); + + Message dmMessage = new MessageBuilder( + "Hey there, you posted a message without media (image, video, link) in a media-only channel. Please see the description of the channel for details and then repost with media attached, thanks 😀") + .setEmbeds(originalMessageEmbed) + .build(); + + return message.getAuthor() + .openPrivateChannel() + .flatMap(channel -> channel.sendMessage(dmMessage)); + } } From d3a7b7d87f07abfd3bb16f6b9fbf4d346a29c45a Mon Sep 17 00:00:00 2001 From: Taz Date: Sun, 4 Sep 2022 19:52:38 +0530 Subject: [PATCH 3/5] used proper method --- .../tjbot/commands/mediaonly/MediaOnlyChannelListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 8dba66ffac..16c6eb962c 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,6 +4,7 @@ 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 org.togetherjava.tjbot.commands.MessageReceiverAdapter; @@ -38,7 +39,7 @@ public void onMessageReceived(MessageReceivedEvent event) { Message message = event.getMessage(); // Checks if it's a thread creation message. No need to do anything in that case then - if (message.toString().contains("THREAD_CREATED")) { + if (message.getType().equals(MessageType.THREAD_CREATED)) { return; } From 8ee6ae15a277ebec333184909d82252e3ed28c8b Mon Sep 17 00:00:00 2001 From: Taz Date: Sun, 4 Sep 2022 20:04:03 +0530 Subject: [PATCH 4/5] == instead of 'equals' --- .../tjbot/commands/mediaonly/MediaOnlyChannelListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 16c6eb962c..cd23364634 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 @@ -39,7 +39,7 @@ public void onMessageReceived(MessageReceivedEvent event) { Message message = event.getMessage(); // Checks if it's a thread creation message. No need to do anything in that case then - if (message.getType().equals(MessageType.THREAD_CREATED)) { + if (message.getType() == MessageType.THREAD_CREATED) { return; } From 06678b20db22cc60ae9ee8be1bbf29598a0ef9a8 Mon Sep 17 00:00:00 2001 From: Taz Date: Mon, 5 Sep 2022 13:23:53 +0530 Subject: [PATCH 5/5] removed comment --- .../tjbot/commands/mediaonly/MediaOnlyChannelListener.java | 1 - 1 file changed, 1 deletion(-) 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 cd23364634..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 @@ -38,7 +38,6 @@ public void onMessageReceived(MessageReceivedEvent event) { } Message message = event.getMessage(); - // Checks if it's a thread creation message. No need to do anything in that case then if (message.getType() == MessageType.THREAD_CREATED) { return; }