discord-api-docs icon indicating copy to clipboard operation
discord-api-docs copied to clipboard

Webhook Followup / Unknown Webhook (404)

Open AlexFlipnote opened this issue 1 year ago • 12 comments

Description

Whenever I respond to an interaction URL request with a defer, it goes through as normal, and Discord says that the "Application is thinking". However at random occurrence, whenever I wish to reply with /webhooks/:app_id/:followup_token, it would tell me that the webhook is not there (404). After making my script retry for 2-3 times in a span of ~10 seconds, it finally registers that it can reply and gets a HTTP 200 request.

Steps to Reproduce

  • Use Interaction URL and not traditional websocket
  • Reply to Discord's webhook request with following JSON
{
  "type": 5,
  "data": { "flags": 0 }
}
  • Attempt to send a followup to /webhooks/:app_id/:followup_token with something as simple as {"content": "Hello world"}
  • Wait to see if that one moment you attempt, has the random occurance of not allowing you to reply (While testing before submitting this issue, I get it every 10'ish minutes)

Expected Behavior

Being able to reply to a defer instantly as shown here image

Current Behavior

Random chance to return HTTP 404 until a few seconds has passed and Discord API finally lets you reply to the followup token. WindowsTerminal_2024-10-18_01-23-58

Screenshots/Videos

They are provided above

Client and System Information

Library: discord.http (Python, Quart, aiohttp) OS: Windows 11 Pro

AlexFlipnote avatar Oct 17 '24 23:10 AlexFlipnote

When replying to an HTTP response, there is no guarantee that Discord has received the response that you sent before it received your request for a follow up.

Discord probably needs to handle a follow up for an interaction where a result has not yet been replied to as resolving the interaction, and then dropping the http response asking it to be deferred when it receives the response.

jhgg avatar Oct 18 '24 01:10 jhgg

When replying to an HTTP response, there is no guarantee that Discord has received the response that you sent before it received your request for a follow up.

Even if the client is saying that "Application is thinking", intentionally waiting 2 seconds before sending a followup, yet still getting a HTTP 404? Just asking since it feels a bit strange where the client shows that the API has accepted my defer response, yet followup token is unavailable at some random points, for a duration of 2-10 seconds (it's a bit random at times), which is after I can see that a defer has been handled by Discord.

https://github.com/user-attachments/assets/d0621988-d576-4c44-96af-0c829c274496

AlexFlipnote avatar Oct 18 '24 09:10 AlexFlipnote

Hey, just commenting to see if there was any followup (no pun intended) to this issue. I still get HTTP 404 errors regardless of how much delay I add on top of the response, after the Discord client does in fact show that they have processed the response I gave and have triggered a "Application is thinking..." response to the client.

Have tried to delay the followup response all from 0.5 second to 5 seconds with the same outcome in all of them:

  • "Unknown webhook (HTTP 404)" on all 5 tries within 10 seconds
  • Very very delayed HTTP 200 response (anything between 1-4 tries), which is luckly, the most common outcome.

If there is anything else I can try, please let me know, because I have exhausted everything I could think of to make it possibly work again with 0 issues. It was working completly fine with the interactions were using websocket only, but converting my bot to be using Interaction URL introduced this problem.

AlexFlipnote avatar Nov 02 '24 14:11 AlexFlipnote

+1 on this as mentioned in https://discord.com/channels/613425648685547541/1245841059515207821

fb-sean avatar Nov 05 '24 15:11 fb-sean

+1 on this as well.

bdaroz avatar Nov 10 '24 18:11 bdaroz

It's been a while, but I recently generally improved the robustness of the webhook endpoints, which might help this issue. Let me know if you still see Unknown Webhook codes.

infinitestory avatar Jun 04 '25 18:06 infinitestory

Last time I encountered it as far, was 2 hours ago (I attempt to send the HTTP PATCH 5 times before giving up) but if it was after that, I will then update if I see anything else yes yes.

UNIX of when it happened: 1749060633

Image

AlexFlipnote avatar Jun 04 '25 20:06 AlexFlipnote

Update, it continues to happen today

AlexFlipnote avatar Jun 13 '25 17:06 AlexFlipnote

I can also confirm it still happens, but perhaps a) less frequently and b) less severely (time duration), but admittedly my sample size is rather small now as we've mostly migrated to web pages and away from bots.

bdaroz avatar Jun 13 '25 18:06 bdaroz

Looping back to this. Had another API latency spike today, and right smack in the middle of it hit the 404 problem again. Hit a run of 4 interactions inside of 10s.

bdaroz avatar Aug 13 '25 18:08 bdaroz

From my side, they happen less frequently at least, they only happen whenever a server is getting heavy load (say an [at]everyone happens due to giveaway with around 600k members) otherwise I have seen them appear less, but they appear sometimes during normal behaviour.

AlexFlipnote avatar Aug 14 '25 08:08 AlexFlipnote

Then maybe we pivot this from fixing the issue to establishing "best practices" that (ideally) completely mitigate the problem.

bdaroz avatar Aug 15 '25 16:08 bdaroz