From 01e1f55bdb9c2a931ad1821dd83b1dc9397998e6 Mon Sep 17 00:00:00 2001 From: htmlcsjs <46023024+htmlcsjs@users.noreply.github.com> Date: Fri, 3 May 2024 19:19:38 +0100 Subject: [PATCH] Fixed autotagging nuking old tags --- .../coffeeFloppa/handlers/MessageHandler.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/xyz/htmlcsjs/coffeeFloppa/handlers/MessageHandler.java b/src/main/java/xyz/htmlcsjs/coffeeFloppa/handlers/MessageHandler.java index 6a6f382..f4ca4b7 100644 --- a/src/main/java/xyz/htmlcsjs/coffeeFloppa/handlers/MessageHandler.java +++ b/src/main/java/xyz/htmlcsjs/coffeeFloppa/handlers/MessageHandler.java @@ -12,6 +12,7 @@ import discord4j.core.object.reaction.ReactionEmoji; import discord4j.core.spec.MessageCreateFields; import discord4j.core.spec.MessageCreateMono; +import discord4j.discordjson.Id; import discord4j.discordjson.json.EmojiData; import discord4j.rest.route.Routes; import discord4j.rest.util.AllowedMentions; @@ -146,9 +147,13 @@ public static Mono threadCreate(ThreadChannelCreateEvent event) { Snowflake parentId = thread.getParentId().orElse(null); if (parentId != null && parentId.equals(Snowflake.of(FloppaTomlConfig.autoTagChannel))) { // i love APIs - CoffeeFloppa.client.getChannelService(); + List tags = new ArrayList<>(); + if (!thread.getData().appliedTags().isAbsent()) { + tags.addAll(thread.getData().appliedTags().get()); + } + tags.add(Id.of(FloppaTomlConfig.autoTagId)); return Routes.CHANNEL_MODIFY_PARTIAL.newRequest(thread.getId().asLong()) - .body(new AddTagEditRequest(FloppaTomlConfig.autoTagId)) + .body(new AddTagEditRequest(tags)) .optionalHeader("X-Audit-Log-Reason", "Floppa Automated") .exchange(CoffeeFloppa.client.getRestResources().getRouter()) .bodyToMono(Object.class); @@ -275,10 +280,10 @@ public static String getCurrentMessageURL() { private static class AddTagEditRequest { @JsonProperty("applied_tags") - private final List appliedTags; + private final List appliedTags; - protected AddTagEditRequest(Long... tags) { - this.appliedTags = List.of(tags); + protected AddTagEditRequest(List tags) { + this.appliedTags = tags; } } }