I’d like to write a personal service on my local computer in tandem with AutoHotkey so that when I type ::someEmoteName:: it replaces the text with the emote. Kraken had an endpoint for getting a dump of all emotes, as did twitchemotes.com once upon a time, but Helix appears to lack this feature (at least it’s not in the docs), Kraken’s all emotes endpoint has been disabled, and twitchemotes removed their public API altogether.
Ideally I could fetch the url simply by passing a string, but if there’s a way I can type in an emote prefix, e.g. barb, and retrieve the channel info or even just the channel name, e.g. barbarousKing, I could then retrieve the channel’s emotes via the Helix API or scrubbing twitchemotes with puppeteer.
In the worst case, for Twitch channels with Discord servers, I could join the server, type the emote name in my own server in a private channel, and retrieve Discord’s copy of the emote. This approach is hardly ideal. It’s rather limited and Discord always pulls the 4x size of the emote images, meaning my service would need to resize them locally and I would not get the emotes optimized for the 1x and 2x sizes.
Alternatively, I could type emotes available to me in my bot channel’s chat, and retrieve the url that way. this is also not ideal, as I’d like access to emotes for channels I cannot afford to subscribe to.
I suspect since Helix lacks the emote dump public endpoint, this is simply not available–though twitchemotes.com somehow still retrieves all of the emote data, so it is possible.
This would limit me to the channels I’ve subscribed to, and like I said in the OP (in an edit), I can’t afford to subscribe to all of the channels I would like to.
I just figured out how twitchemotes likely does it. One could periodically retrieve the list of all live streams, filter them to partners and affiliates, then retrieve the emotes for those channels.