diff --git a/application/src/main/java/org/togetherjava/tjbot/features/basic/SlashCommandEducator.java b/application/src/main/java/org/togetherjava/tjbot/features/basic/SlashCommandEducator.java index a9d8056e1a..9a6e77464a 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/basic/SlashCommandEducator.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/basic/SlashCommandEducator.java @@ -19,6 +19,7 @@ * then educates the user about using slash commands, such as {@code /foo} instead. */ public final class SlashCommandEducator extends MessageReceiverAdapter { + private static final int MAX_COMMAND_LENGTH = 30; private static final String SLASH_COMMAND_POPUP_ADVICE_PATH = "slashCommandPopupAdvice.png"; private static final Predicate IS_MESSAGE_COMMAND = Pattern.compile(""" [.!?] #Start of message command @@ -33,7 +34,8 @@ public void onMessageReceived(MessageReceivedEvent event) { } String content = event.getMessage().getContentRaw(); - if (IS_MESSAGE_COMMAND.test(content)) { + + if (IS_MESSAGE_COMMAND.test(content) && content.length() < MAX_COMMAND_LENGTH) { sendAdvice(event.getMessage()); } } diff --git a/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java b/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java index 6e118a5c76..261e1db3af 100644 --- a/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java +++ b/application/src/test/java/org/togetherjava/tjbot/features/basic/SlashCommandEducatorTest.java @@ -65,6 +65,9 @@ private static Stream provideMessageCommands() { } private static Stream provideOtherMessages() { - return Stream.of(" a ", "foo", "#foo", "/foo", "!!!", "?!?!?", "?", ".,-", "!f", "! foo"); + return Stream.of(" a ", "foo", "#foo", "/foo", "!!!", "?!?!?", "?", ".,-", "!f", "! foo", + "thisIsAWordWhichLengthIsMoreThanThirtyLetterSoItShouldNotReply", + ".isLetter and .isNumber are available"); + } }