Closed AspectTheDev closed 3 years ago
Can confirm this issue is happening, and it affects bots' abilities to see the reactions happening.
I can provide some further insight to this.
The reaction still exists on the API, and is shown through the /channels/:id/messages/:id/reactions/:emoji
endpoint:
curl -H 'Authorization: Bot ...' https://discord.com/api/v8/channels/xxx/messages/yyy/reactions/📩
[{"id": "508391840525975553", "username": "Tickets", "avatar": "c0326f3eb3834f19d41fa1be61a99615", "discriminator": "6981", "public_flags": 65536, "bot": true}]
However, the reaction doesn't show on the get message history endpoint (/channels/:id/messages
):
curl -H 'Authorization: Bot ...' https://discord.com/api/v8/channels/xxx/messages | jq
[
{
"id": "yyy",
"type": 0,
"content": "",
"channel_id": "xxx",
"author": {
"id": "508391840525975553",
"username": "Tickets",
"avatar": "c0326f3eb3834f19d41fa1be61a99615",
"discriminator": "6981",
"public_flags": 65536,
"bot": true
},
"attachments": [],
"embeds": [
{
"type": "rich",
"title": "Open a ticket!",
"description": "For additional support react with letter emoji and a dedicated support chat will be opened for you!",
"color": 3066993,
"footer": {
"text": "Powered by ticketsbot.net",
"icon_url": "https://cdn.discordapp.com/avatars/508391840525975553/ac2647ffd4025009e2aa852f719a8027.png?size=256",
"proxy_icon_url": "https://images-ext-2.discordapp.net/external/TrPxF0gTDyMzzujGvHaxzjEzb9lDrNHDfdoY-iaoVUY/%3Fsize%3D256/https/cdn.discordapp.com/avatars/508391840525975553/ac2647ffd4025009e2aa852f719a8027.png"
}
}
],
"mentions": [],
"mention_roles": [],
"pinned": false,
"mention_everyone": false,
"tts": false,
"timestamp": "2021-05-12T15:38:52.417000+00:00",
"edited_timestamp": null,
"flags": 0,
"components": []
},
...
]
Notice that the reactions
field is missing from the message.
I can also confirm that spam adding and removing a reaction is the cause of this. Simply find a message with an existing reaction and spam click to add it and unadd it until your client gets ratelimited. The reaction will disappear in your client (and some weird visual behaviour will occur), and the API will no longer return the reaction.
Further information:
It only occurs if there is 1 emoji with 1 reaction on the message it seems. If there is more than 1 type of emoji added, or if the emoji has more than 1 user reaction, it won't work. I was mistaken on this, it still happens
Additionally, spamming reactions seemingly makes your client send hundreds, or even thousands, of reaction add and delete HTTP calls. Not sure whether this is related or not.
Additionally, spamming reactions seemingly makes your client send hundreds, or even thousands, of reaction add and delete HTTP calls. Not sure whether this is related or not.
When the client gets a 429 response it tries to add the reaction again
this will be fixed in the next api deploy
Description
Message Reactions can be magically removed by spamming them multiple times for a few seconds.
Steps to Reproduce
Expected Behavior
The reactions should not disappear
Current Behavior
All reactions will disappear from the message completely
Screenshots/Videos
https://youtu.be/y7pfAAKQm2I
Client and System Information
Tested on the following platforms: Windows 10 (64-bit), iPhone 11 (13.3) Tested on the following builds: Desktop-84451, Desktop Canary-85615, iOS Testflight 73.0 (255527)