Skip to content

Commit ac5b652

Browse files
Fixed removeReaction() endpoints, use correct endpoint for deleting own reactions
1 parent e837413 commit ac5b652

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

src/main/java/net/dv8tion/jda/core/entities/MessageChannel.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2049,9 +2049,8 @@ default RestAction<Void> removeReactionById(String messageId, String unicode)
20492049
Checks.noWhitespace(messageId, "Message ID");
20502050
Checks.noWhitespace(unicode, "Emoji");
20512051

2052-
final String selfId = getJDA().getSelfUser().getId();
20532052
final String code = MiscUtil.encodeUTF8(unicode);
2054-
final Route.CompiledRoute route = Route.Messages.REMOVE_REACTION.compile(getId(), messageId, code, selfId);
2053+
final Route.CompiledRoute route = Route.Messages.REMOVE_OWN_REACTION.compile(getId(), messageId, code);
20552054
return new RestAction<Void>(getJDA(), route)
20562055
{
20572056
@Override

src/main/java/net/dv8tion/jda/core/entities/MessageReaction.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,11 @@ public RestAction<Void> removeReaction(User user)
377377
String code = emote.isEmote()
378378
? emote.getName() + ":" + emote.getId()
379379
: MiscUtil.encodeUTF8(emote.getName());
380-
Route.CompiledRoute route = Route.Messages.REMOVE_REACTION.compile(channel.getId(), getMessageId(), code, user.getId());
380+
Route.CompiledRoute route;
381+
if (user.equals(getJDA().getSelfUser()))
382+
route = Route.Messages.REMOVE_OWN_REACTION.compile(channel.getId(), getMessageId(), code);
383+
else
384+
route = Route.Messages.REMOVE_REACTION.compile(channel.getId(), getMessageId(), code, user.getId());
381385
return new RestAction<Void>(getJDA(), route)
382386
{
383387
@Override

src/main/java/net/dv8tion/jda/core/entities/impl/TextChannelImpl.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,19 @@
2626
import net.dv8tion.jda.core.requests.Route;
2727
import net.dv8tion.jda.core.requests.restaction.AuditableRestAction;
2828
import net.dv8tion.jda.core.requests.restaction.ChannelAction;
29-
import net.dv8tion.jda.core.requests.restaction.WebhookAction;
3029
import net.dv8tion.jda.core.requests.restaction.MessageAction;
31-
import net.dv8tion.jda.core.utils.MiscUtil;
30+
import net.dv8tion.jda.core.requests.restaction.WebhookAction;
3231
import net.dv8tion.jda.core.utils.Checks;
32+
import net.dv8tion.jda.core.utils.MiscUtil;
3333
import org.json.JSONArray;
3434
import org.json.JSONException;
3535
import org.json.JSONObject;
3636

3737
import java.io.InputStream;
38-
import java.util.*;
38+
import java.util.ArrayList;
39+
import java.util.Collection;
40+
import java.util.Collections;
41+
import java.util.List;
3942
import java.util.stream.Collectors;
4043

4144
public class TextChannelImpl extends AbstractChannelImpl<TextChannelImpl> implements TextChannel
@@ -400,7 +403,11 @@ public RestAction<Void> removeReactionById(String messageId, String unicode, Use
400403
if (!getJDA().getSelfUser().equals(user))
401404
checkPermission(Permission.MESSAGE_MANAGE);
402405
final String code = MiscUtil.encodeUTF8(unicode);
403-
final Route.CompiledRoute route = Route.Messages.REMOVE_REACTION.compile(getId(), messageId, code, user.getId());
406+
Route.CompiledRoute route;
407+
if (user.equals(getJDA().getSelfUser()))
408+
route = Route.Messages.REMOVE_OWN_REACTION.compile(getId(), messageId, code);
409+
else
410+
route = Route.Messages.REMOVE_REACTION.compile(getId(), messageId, code, user.getId());
404411
return new RestAction<Void>(getJDA(), route)
405412
{
406413
@Override

src/main/java/net/dv8tion/jda/core/requests/Route.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ public static class Messages
198198

199199
public static final Route ADD_REACTION = new Route(PUT, new RateLimit(1, 250),
200200
"channels/{channel_id}/messages/{message_id}/reactions/{reaction_code}/@me", "channel_id");
201+
public static final Route REMOVE_OWN_REACTION = new Route(DELETE, "channels/{channel_id}/messages/{message_id}/reactions/{reaction_code}/@me", "channel_id");
201202
public static final Route REMOVE_REACTION = new Route(DELETE, "channels/{channel_id}/messages/{message_id}/reactions/{reaction_code}/{user_id}", "channel_id");
202203
public static final Route REMOVE_ALL_REACTIONS = new Route(DELETE, "channels/{channel_id}/messages/{message_id}/reactions", "channel_id");
203204
public static final Route GET_REACTION_USERS = new Route(GET, "channels/{channel_id}/messages/{message_id}/reactions/{reaction_code}", "channel_id");

0 commit comments

Comments
 (0)