Skip to content

Commit 8508977

Browse files
committed
method to update tagName on change in db
1 parent ff7ec2f commit 8508977

File tree

1 file changed

+25
-3
lines changed

1 file changed

+25
-3
lines changed

application/src/main/java/org/togetherjava/tjbot/features/help/HelpThreadArchivedListener.java

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.togetherjava.tjbot.features.help;
22

33
import net.dv8tion.jda.api.entities.channel.concrete.ThreadChannel;
4+
import net.dv8tion.jda.api.events.channel.update.ChannelUpdateAppliedTagsEvent;
45
import net.dv8tion.jda.api.events.channel.update.ChannelUpdateArchivedEvent;
56
import net.dv8tion.jda.api.hooks.ListenerAdapter;
67
import org.jetbrains.annotations.NotNull;
@@ -37,15 +38,27 @@ public void onChannelUpdateArchived(@NotNull ChannelUpdateArchivedEvent event) {
3738
}
3839
ThreadChannel threadChannel = event.getChannel().asThreadChannel();
3940

40-
4141
if (!helper.isHelpForumName(threadChannel.getParentChannel().getName())) {
4242
return;
4343
}
44-
handleThreadStatus(threadChannel);
44+
handleThreadStatus(threadChannel.getIdLong());
4545
}
4646

47-
private void handleThreadStatus(ThreadChannel threadChannel) {
47+
@Override
48+
public void onChannelUpdateAppliedTags(@NotNull ChannelUpdateAppliedTagsEvent event) {
49+
ThreadChannel threadChannel = event.getChannel().asThreadChannel();
50+
51+
if(!helper.isHelpForumName(threadChannel.getParentChannel().getName())){
52+
return;
53+
}
54+
55+
String updatedTag = event.getAddedTags().getFirst().getName();
4856
long threadId = threadChannel.getIdLong();
57+
58+
handleTagsUpdate(threadId,updatedTag);
59+
}
60+
61+
private void handleThreadStatus(long threadId) {
4962
Instant closedAt = Instant.now();
5063

5164
int status = database.read(context -> context.selectFrom(HELP_THREADS)
@@ -77,4 +90,13 @@ private void changeStatusToActive(long threadId) {
7790

7891
logger.info("Thread with id: {}, updated to active status in database", threadId);
7992
}
93+
94+
private void handleTagsUpdate(long threadId, String updatedTag){
95+
database.write(context->context.update(HELP_THREADS)
96+
.set(HELP_THREADS.TAG,updatedTag)
97+
.where(HELP_THREADS.CHANNEL_ID.eq(threadId))
98+
.execute());
99+
100+
logger.info("Updated tag for thread with id: {} in database",threadId);
101+
}
80102
}

0 commit comments

Comments
 (0)