TwitchJS is what I use, it’s pretty much tmi.js but continued on with community support to keep it much more frequently updated.
Unfollowing and following again should still create a notification (it’s just the follow that will send a notification, the webhook intentionally doesn’t show unfollows), it’s what I did when first testing webhooks and it worked back then
Another way to test would simply be point the followers topic to Ninja, if it’s working you’ll certainly know
I am able to create subscriptions and verify that they were created. I also get the first GET request to my callback when the subscription is created however I’m still not getting any POST requests for new followers.
Do I have the end point correct? From my understanding I want my channel id to be the “to_id” field to see who follows my channel.
As for error handling, when it’s Twitch attempting to send a request to a devs server, it’s not really possible to send an error if that fails because they have no means to send that error to you.
This is why it’s important for the developers to set up their app to log errors, and perhaps all traffic when debugging. Also performing tests to make sure both the internal handling works, and also test to make sure all routes/methods are fully accessible, is essential.