Skip to content

Commit f0f9135

Browse files
author
Andrew1031
committed
Suggested changes - More reliable way to verify parent message of channel
1 parent 87c0e84 commit f0f9135

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

application/src/main/java/org/togetherjava/tjbot/features/projects/ProjectsThreadCreatedListener.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void onMessageReceived(MessageReceivedEvent event) {
3737
boolean isPost = isPostMessage(threadChannel);
3838

3939
if (parentChannel.getName().equals(configProjectsChannelPattern) && isPost) {
40-
handleProjectThread(event);
40+
pinParentMessage(event);
4141
}
4242
}
4343
}
@@ -50,11 +50,15 @@ private boolean wasThreadAlreadyHandled(long threadChannelId) {
5050

5151
private boolean isPostMessage(ThreadChannel threadChannel) {
5252
int messageCount = threadChannel.getMessageCount();
53-
return messageCount <= 1 && !wasThreadAlreadyHandled(threadChannel.getIdLong());
53+
if (messageCount <= 1 && !wasThreadAlreadyHandled(threadChannel.getIdLong())) {
54+
return threadChannel.retrieveMessageById(threadChannel.getIdLong())
55+
.map(message -> message.getIdLong() == threadChannel.getIdLong())
56+
.complete();
57+
}
58+
return false;
5459
}
5560

56-
private void handleProjectThread(MessageReceivedEvent event) {
57-
// Pin the first message in the thread
61+
private void pinParentMessage(MessageReceivedEvent event) {
5862
event.getMessage().pin().queue();
5963
}
6064
}

0 commit comments

Comments
 (0)