Finally Twitch EventSub is at feature parity with third party supported/documented PubSub, that the end of PubSub has been announced.
In a forum post over on Twitch Developers it has been announced the schedule for the shutdown of Twitch PubSub for access by third party developers.
The final death date is April 14th 2025.
Which I guess means it’s time for me to complete my own migration from PubSub to EventSub. Which at least is JUST ABOUT planned….
At least for 90% of what I need it’s ALL USERNOTICE as an EventSub topic, which is this case is channel.chat.notification and then whatever I choose to go with for consuming cheering.
So then for anything else I’ll need that doesn’t exist, either from it not existing in the first place OR a undocumented topic I might be using, off to uservoice I’ll go!
Off hand I think there is only one thing but we’ll see when I work on and complete my migration! The only other barrier is gonna be authentication but I have authentication or can get it for everything I need.
It is worth noting that Extension PubSub is unaffected, as that for the most part is a completely different system that just shares the same name.
Topic Migration notes
Edit: I guess I should add some notes about migration
PubSub | EventSub |
channel-bits-events-v1.<channel_id> | channel.cheer or channel.chat.message |
channel-bits-events-v2.<channel_id> | channel.cheer or channel.chat.message |
channel-bits-badge-unlocks.<channel_id> | No Route, or inferred from channel.cheer |
channel-points-channel-v1.<channel_id> | channel.channel_points_custom_reward.add |
channel-subscribe-events-v1.<channel_id> | channel.chat.notification is what I will use for my use case of overlay/on stream alerts. Other type segregated topics exist |
automod-queue.<moderator_id>.<channel_id> | automod.message.hold |
chat_moderator_actions.<user_id>.<channel_id> | channel.moderate |
low-trust-users.<channel_id>.<suspicious_user_id> | automod.message.hold and automod.message.update |
user-moderation-notifications.<current_user_id>.<channel_id> | channel.chat.user_message_hold |
whispers.<user_id> | user.whisper.message |