From the dev stream today:
For a long time, there has been this unfortunate segmentation of functionality across the Twitch API and IRC. For example, until we recently launched the new API endpoint to start a raid, the only way to carry out a raid programmatically was through IRC. So, developers had to manage a Helix client, an actual Twitch application, as well as an IRC application to access all the actions that you could take on behalf of a broadcaster. So therefore, we are deprecating these actions through IRC, which will group all actions under the Twitch API with our latest endpoints, and this is really stemming from some improvements we want to make to Twitch chat, and we cannot do that easily or effectively with these things as they are.
(clip, accidentally made with my bot account: Twitch)
I find this justification really strange. Specifically that you’re justifying removing commands from TMI entirely by saying some developers needed to maintain both a Helix client and an IRC client.
My bot (which exists specifically to delete links from chat) worked perfectly fine with just an IRC connection, but thanks to this change… I now need to maintain both a Helix client and an IRC client. For developers like me, this doesn’t simplify things, this makes things more difficult: I now need to maintain two clients within my bot, concern myself with two different rate limits (in addition to the already-discussed confusion around what the Helix rate limits are), and take actions using two different APIs. Previously, everything happened only over the TMI connection.
Given you’re making things more complicated for me, removing the features that let me keep my bot minimally complicated, it’s hard for me to have that trust that Jon mentioned that you’re doing the right thing for 3rd-party developers. You’ve added more surface for bugs and flaws, more things I need to keep track of, more errors I need to handle, and more information I need to provide in my bot’s configuration, and you’ve provided justification that reads, to me, as the opposite of reality. And while I’ve already updated my bot, it’s hard for me to see any benefit to the changes from my perspective.
Really, all I can say is that hearing the discussion today was frustrating, given the disconnect between my experience as a bot developer and the way you’re discussing the changes. And it makes me worried for the future of TMI and my bot—is TMI going to be here at all in two years? Will I have to completely rewrite my bot (again) to use another, completely different API if you decide that it’s too much of a hassle for developers like me to maintain two connections, now that I require two connections?
I’m hoping you can provide more info on what the changes you want to make to chat are soon, because I’d like to trust you, but I can’t with the information you’ve given me.