From 7db0f0ade9ee861d3879d01f92632fc5b6961c82 Mon Sep 17 00:00:00 2001 From: Daedalus <16168171+RedDaedalus@users.noreply.github.com> Date: Mon, 23 Oct 2023 23:48:38 +0200 Subject: [PATCH] Fix webhook send & edit where the thread ID was set (#2572) --- .../restaction/WebhookMessageCreateActionImpl.java | 14 ++++++++++---- .../restaction/WebhookMessageEditActionImpl.java | 11 +++++++++-- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageCreateActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageCreateActionImpl.java index 26d1afc7af..e2d73ba854 100644 --- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageCreateActionImpl.java +++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageCreateActionImpl.java @@ -150,10 +150,6 @@ protected RequestBody finalizeData() if (avatar != null) json.put("avatar_url", avatar); - if (threadId != null) - { - json.put("thread_id", threadId); - } else if (threadMetadata != null) { json.put("thread_name", threadMetadata.getName()); @@ -166,6 +162,16 @@ else if (threadMetadata != null) } } + @Override + protected Route.CompiledRoute finalizeRoute() + { + Route.CompiledRoute route = super.finalizeRoute(); + if (threadId != null) + route = route.withQueryParams("thread_id", threadId); + + return route; + } + @Override protected void handleSuccess(Response response, Request request) { diff --git a/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageEditActionImpl.java b/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageEditActionImpl.java index e6eb836128..55097721fd 100644 --- a/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageEditActionImpl.java +++ b/src/main/java/net/dv8tion/jda/internal/requests/restaction/WebhookMessageEditActionImpl.java @@ -54,12 +54,19 @@ protected RequestBody finalizeData() try (MessageEditData data = builder.build()) { DataObject payload = data.toData(); - if (threadId != null) - payload.put("thread_id", threadId); return getMultipartBody(data.getFiles(), payload); } } + @Override + protected Route.CompiledRoute finalizeRoute() + { + Route.CompiledRoute route = super.finalizeRoute(); + if (threadId != null) + route = route.withQueryParams("thread_id", threadId); + return route; + } + @Override protected void handleSuccess(Response response, Request request) {