diff --git a/application/src/main/java/org/togetherjava/tjbot/features/projects/ProjectsThreadCreatedListener.java b/application/src/main/java/org/togetherjava/tjbot/features/projects/ProjectsThreadCreatedListener.java index 814b97aec8..6ce95d7e4e 100644 --- a/application/src/main/java/org/togetherjava/tjbot/features/projects/ProjectsThreadCreatedListener.java +++ b/application/src/main/java/org/togetherjava/tjbot/features/projects/ProjectsThreadCreatedListener.java @@ -37,7 +37,7 @@ public void onMessageReceived(MessageReceivedEvent event) { boolean isPost = isPostMessage(threadChannel); if (parentChannel.getName().equals(configProjectsChannelPattern) && isPost) { - handleProjectThread(event); + pinParentMessage(event); } } } @@ -50,11 +50,15 @@ private boolean wasThreadAlreadyHandled(long threadChannelId) { private boolean isPostMessage(ThreadChannel threadChannel) { int messageCount = threadChannel.getMessageCount(); - return messageCount <= 1 && !wasThreadAlreadyHandled(threadChannel.getIdLong()); + if (messageCount <= 1 && !wasThreadAlreadyHandled(threadChannel.getIdLong())) { + return threadChannel.retrieveMessageById(threadChannel.getIdLong()) + .map(message -> message.getIdLong() == threadChannel.getIdLong()) + .complete(); + } + return false; } - private void handleProjectThread(MessageReceivedEvent event) { - // Pin the first message in the thread + private void pinParentMessage(MessageReceivedEvent event) { event.getMessage().pin().queue(); } }