How to get Emotes/ Badges object?


#1

I cannot find out how to get a simple list of all the twitch emotes and badges so that I can replace “kappa” with the image itself etc. In the v5 docs, there is a place where it talks about “getting all the general emotes and all the emotes for the specific channel”, but when I send the request, it says something about “the api is in another castle” meaning it doesnt work anymore, and cant find a Helix alternative, or any alternative for that matter.
I also see info on getting emotes by “emote set”, but no info on what the “emote set” numbers are for the generic Twitch emotes. Also, I can find even less on “badges”, unless badges are considered emotes. Lastly, what about emotes that users obtain from OTHER channels by subbing etc, am I supposed to send a GET request to obtain these whenever ANYONE sends a message? Or I supposed to build a database of these as they occur to avoid having to GET every time someone messages?


#2

For badges here are a couple links you may find helpful.
Global Badges: https://badges.twitch.tv/v1/badges/global/display
Channel Badges: https://badges.twitch.tv/v1/badges/channels/CHANNEL_ID/display

For emotes, the Get All Emotes endpoint is one option (although as the docs warned, this does contain a lot of data). Depending on your use case, if for example you’re getting an emote ID from chat and just want the URL to display it then you can use
http://static-cdn.jtvnw.net/emoticons/v1/EMOTE_ID/SIZE or for bits the Get Cheermotes endpoint can be used to get the various different types.

There are also 3rd party sites such as https://twitchemotes.com/apidocs which some of us devs use too.

The docs are pretty bad when it comes to emotes/badges as the official API endpoints in this area are themselves bad/non-existent, so undocumented endpoints such as some of those I’ve linked above are often all we have, and the info that we do have in the docs is in various places, with some of it being in the V5 or Helix sections, other parts are in the Chat Section so if you haven’t already read through the chat docs I suggest you give that a read as that may help.


#3

Thanks, as mentioned “get all emotes” gives me an error about the api living in another castle. As far as the “http://static-cdn.jtvnw.net/emoticons/v1/EMOTE_ID/SIZE” method, where would I get a list of emotes and their corresponding IDs? I would need this to replace “kappa” with “1223324” or whatever it would be.


#4

Hmm, seems the Get All Emotes endpoint is gone, but the Get Chat Emoticons by Set still works and if you don’t provide the optional emotesets param it’ll just provide anything anyway.

As for how to get the emote id, if you’re connected to chat then part of the tags that get sent with each message includes the emote id of every emote used in the message, along with the position within the message where that emote is, which you can read about here: https://dev.twitch.tv/docs/irc/tags/

If you just have message logs with none of the associated tags, then yeah it’s going to be problematic for you because you’ll have to get a list of every single emote and its corresponding ID, and parse every single message to check for every single emote. Which from a performance point of view is going to be a massive hit. This is why I highly recommend using the id of emotes from the tags rather than doing it this way, but I don’t know your use case so I’m not sure what is possible for your specific situation.