Webhook Followup / Unknown Webhook (404)
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_tokenwith 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
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.
Screenshots/Videos
They are provided above
Client and System Information
Library: discord.http (Python, Quart, aiohttp) OS: Windows 11 Pro
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.
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
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 200response (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.
+1 on this as mentioned in https://discord.com/channels/613425648685547541/1245841059515207821
+1 on this as well.
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.
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
Update, it continues to happen today
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.
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.
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.
Then maybe we pivot this from fixing the issue to establishing "best practices" that (ideally) completely mitigate the problem.