From 78b8f9b45d16396838e97da7c616c5717882fdab Mon Sep 17 00:00:00 2001 From: Taz <73871477+Tanish-Azad@users.noreply.github.com> Date: Tue, 19 Jul 2022 15:08:43 +0530 Subject: [PATCH 1/7] Auto create threads for suggestions --- .../tjbot/commands/basic/SuggestionsUpDownVoter.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java index e3d7b5b29a..5c8d6fb199 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java @@ -46,6 +46,10 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) { Guild guild = event.getGuild(); Message message = event.getMessage(); + + if (!message.getChannel().getType().isThread()) { + message.createThreadChannel("Discussion for " + message.getAuthor().getName() + "'s suggestion").queue(); + } reactWith(config.getUpVoteEmoteName(), FALLBACK_UP_VOTE, guild, message); reactWith(config.getDownVoteEmoteName(), FALLBACK_DOWN_VOTE, guild, message); From 9b330abf107ccb3ba553e6371c203a2b53099864 Mon Sep 17 00:00:00 2001 From: Tanish Date: Tue, 19 Jul 2022 18:45:23 +0530 Subject: [PATCH 2/7] added a condition to general checks --- .../tjbot/commands/basic/SuggestionsUpDownVoter.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java index 5c8d6fb199..19955005e7 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java @@ -40,16 +40,18 @@ public SuggestionsUpDownVoter(@NotNull Config config) { @Override public void onMessageReceived(@NotNull MessageReceivedEvent event) { - if (event.getAuthor().isBot() || event.isWebhookMessage() || !event.isFromGuild()) { + if (event.getAuthor().isBot() || event.isWebhookMessage() || !event.isFromGuild() + || event.getChannel().getType().isThread()) { return; } Guild guild = event.getGuild(); Message message = event.getMessage(); - - if (!message.getChannel().getType().isThread()) { - message.createThreadChannel("Discussion for " + message.getAuthor().getName() + "'s suggestion").queue(); - } + + message + .createThreadChannel( + "Discussion for " + message.getAuthor().getName() + "'s suggestion") + .queue(); reactWith(config.getUpVoteEmoteName(), FALLBACK_UP_VOTE, guild, message); reactWith(config.getDownVoteEmoteName(), FALLBACK_DOWN_VOTE, guild, message); From e82eb5ac2f1ddf6de3d778394e8cf4ffd3f5c543 Mon Sep 17 00:00:00 2001 From: Tanish Date: Tue, 19 Jul 2022 18:47:54 +0530 Subject: [PATCH 3/7] made a method for thread creation --- .../tjbot/commands/basic/SuggestionsUpDownVoter.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java index 19955005e7..5a973f49ca 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java @@ -48,13 +48,16 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) { Guild guild = event.getGuild(); Message message = event.getMessage(); + createThread(message); + reactWith(config.getUpVoteEmoteName(), FALLBACK_UP_VOTE, guild, message); + reactWith(config.getDownVoteEmoteName(), FALLBACK_DOWN_VOTE, guild, message); + } + + private static void createThread(Message message) { message .createThreadChannel( "Discussion for " + message.getAuthor().getName() + "'s suggestion") .queue(); - - reactWith(config.getUpVoteEmoteName(), FALLBACK_UP_VOTE, guild, message); - reactWith(config.getDownVoteEmoteName(), FALLBACK_DOWN_VOTE, guild, message); } private static void reactWith(@NotNull String emoteName, @NotNull String fallbackUnicodeEmote, From b8a011dbd265cdea8438e35eabf1e84a4d6a7acc Mon Sep 17 00:00:00 2001 From: Tanish Date: Tue, 19 Jul 2022 19:48:39 +0530 Subject: [PATCH 4/7] added notnull annotation to message argument in createThread method --- .../tjbot/commands/basic/SuggestionsUpDownVoter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java index 5a973f49ca..2dc1c545f6 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java @@ -53,7 +53,7 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) { reactWith(config.getDownVoteEmoteName(), FALLBACK_DOWN_VOTE, guild, message); } - private static void createThread(Message message) { + private static void createThread(@NotNull Message message) { message .createThreadChannel( "Discussion for " + message.getAuthor().getName() + "'s suggestion") From 137afd89800082ccaae528027751f4cbdc7568cd Mon Sep 17 00:00:00 2001 From: Tanish Date: Wed, 20 Jul 2022 18:40:14 +0530 Subject: [PATCH 5/7] removed unnecessary checks --- .../tjbot/commands/basic/SuggestionsUpDownVoter.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java index 2dc1c545f6..90343a1fde 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java @@ -40,8 +40,7 @@ public SuggestionsUpDownVoter(@NotNull Config config) { @Override public void onMessageReceived(@NotNull MessageReceivedEvent event) { - if (event.getAuthor().isBot() || event.isWebhookMessage() || !event.isFromGuild() - || event.getChannel().getType().isThread()) { + if (event.getAuthor().isBot() || event.isWebhookMessage() || !event.isFromGuild()) { return; } From bc40a6e8dce2af138dbe05d14a203107433d0454 Mon Sep 17 00:00:00 2001 From: Tanish Date: Wed, 20 Jul 2022 23:30:52 +0530 Subject: [PATCH 6/7] changed algorithm to generate thread titles --- .../basic/SuggestionsUpDownVoter.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java index 90343a1fde..38ac12ff50 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java @@ -22,6 +22,7 @@ */ public final class SuggestionsUpDownVoter extends MessageReceiverAdapter { private static final Logger logger = LoggerFactory.getLogger(SuggestionsUpDownVoter.class); + private static final int TITLE_MAX_LENGTH = 60; private static final String FALLBACK_UP_VOTE = "👍"; private static final String FALLBACK_DOWN_VOTE = "👎"; @@ -53,10 +54,20 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) { } private static void createThread(@NotNull Message message) { - message - .createThreadChannel( - "Discussion for " + message.getAuthor().getName() + "'s suggestion") - .queue(); + String messageContent = message.getContentRaw(); + + String title = messageContent; + if (messageContent.length() >= TITLE_MAX_LENGTH) { + int lastWordEnd = messageContent.lastIndexOf(' ', TITLE_MAX_LENGTH); + + if (lastWordEnd == -1) { + lastWordEnd = TITLE_MAX_LENGTH; + } + + title = messageContent.substring(0, lastWordEnd); + } + + message.createThreadChannel(title).queue(); } private static void reactWith(@NotNull String emoteName, @NotNull String fallbackUnicodeEmote, From 98b76a50791caff824d674b3f2e7fa7ce77b42e4 Mon Sep 17 00:00:00 2001 From: Tanish Date: Wed, 20 Jul 2022 23:38:58 +0530 Subject: [PATCH 7/7] removed unnecessary variable --- .../tjbot/commands/basic/SuggestionsUpDownVoter.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java index 38ac12ff50..280f32599e 100644 --- a/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java +++ b/application/src/main/java/org/togetherjava/tjbot/commands/basic/SuggestionsUpDownVoter.java @@ -54,17 +54,16 @@ public void onMessageReceived(@NotNull MessageReceivedEvent event) { } private static void createThread(@NotNull Message message) { - String messageContent = message.getContentRaw(); + String title = message.getContentRaw(); - String title = messageContent; - if (messageContent.length() >= TITLE_MAX_LENGTH) { - int lastWordEnd = messageContent.lastIndexOf(' ', TITLE_MAX_LENGTH); + if (title.length() >= TITLE_MAX_LENGTH) { + int lastWordEnd = title.lastIndexOf(' ', TITLE_MAX_LENGTH); if (lastWordEnd == -1) { lastWordEnd = TITLE_MAX_LENGTH; } - title = messageContent.substring(0, lastWordEnd); + title = title.substring(0, lastWordEnd); } message.createThreadChannel(title).queue();