Somehow it seems that I am not receiving live notifications to my callback URL anymore.
I have made a Discord bot that just simply sends a message when a channel goes live.
It has stopped working for my own channel last Thursday and whatever I do I do not seem to get any notifcations. I refresh the subscription daily with a ten day subscription so it should never run out technically.
Theres no errors refreshing them, everything goes fine. Any other channel that is signed up for listening gets a post, just not mine. I even setup a test application on another server and signed up for notifications.
Nothing. Any ideas whats going on here?
There are limits on webhook subscriptions, but it starts at 10,000 subscriptions per Client ID, and a max of 3 subscriptions to the same topic, so I don’t think that’s an issue.
Your first point of call should be to check the Get Webhook Subscriptions endpoint, this’ll let you easily see if the subscription is active. If it isn’t then the issue is with creating the subscription, if it exists and you’re not getting notifications you know you should for that topic then the issue is like with your POST handler. I believe there are some certain circumstances where a it can appear that a subscription is created without errors but actually doesn’t get created, so that endpoint is the best way to check.
Also, refreshing subscriptions daily when there’s a 10 day lease is a tiny bit excessive. Resubscribing early is fine, but when you’re only a 10th of the way through your current lease there’s no real need for that, especially since the endpoint exists to check if a subscription is still active or has died somehow.
After checking out my active subscriptions I noticed that I have way less then I should have, turns out I was being rate-limited on re-subscribing!
Thanks alot.
I’m glad you found the cause of the problem. With rate-limits being at fault, don’t forget you can use an OAuth token instead of Client ID for higher rate limit, and this can be further increased on request if there is a legitimate need to do so.