Some emote sets are empty

I get my emote sets from tmi event.
The set list seems complete (i got 14 emote sets, same as the ffz emote menu), but the list of all emotes seemed a bit short and some emotes were missing - there were 5 sets missing for me (488737509, 537206155, 564265402, 592920959, and 10186276). So I tried to get them from the api. That worked for most sets, e.g. sub emotes, but some sets were delivered with a blank array for data.

For example:
emote set 564265402 should give me two emotes - HyperJump and HyperHex
but instead, the fetch returned

{
  "data": [],
  "template": "https://static-cdn.jtvnw.net/emoticons/v2/{{id}}/{{format}}/{{theme_mode}}/{{scale}}"
}

Am I doing something wrong here or missing something?

4 Likes

Hi crasty! You are not missing anything. This has been reported multiple times on the emote endpoints announcement and twitchdev issues repo on github.
I am not a Twitch employee, but given lots of testing of mine and others I can safely say these emote sets contain emotes that are “tied to user’s account”, e.g. hype train emotes, kpop event emotes, pride emotes, 2020 emotes, etc.
Even if you were to get the emote objects for these sets, and a user has the set in the (GLOBAL)USERSTATE message, not all emotes from that set might be available for the user to use.
There’s still Get Authenticated User Emotes endpoint in Kraken API, which does return these emotesets with all emotes that are available to the user (not necessarily all emotes from the emoteset). You can use that for the time being if you’re working with the emotes of your user, but keep in mind that Twitch wants to axe whole Kraken namespace by the end of February 2022.
There’s no migration path for that Kraken endpoint which I personally find stupid as there’s literally no way to get information about these emotesets. There is a Uservoice ticket requesting a Helix equivalent of mentioned Kraken endpoint. Upvote it and maybe Twitch will notice us and realize that that endpoint like the Kraken one is actually critical for developers to have in the new API if the old one is being decomissioned.
I am only sharing my experience with the topic and can’t help you, but I hope this helps understand the issue.

2 Likes

Thanks a lot for a reply, appreciate it. I unfortunately can’t use Get Authenticated User Emotes endpoint in Kraken API, so for the moment I will need to do without these types of emotes…

{
  "error": "Gone",
  "status": 410,
  "message": "It's time to kick ass and serve v3... and I'm all outta v3. See https://dev.twitch.tv/docs"
}

This 410 reply is for the ancient V3 API, make sure you include the Accept header which tells the API that you want to use V5, not V3. See the reference here: Legacy Twitch API v5 | Twitch Developers
Though, keep in mind that if you haven’t used Kraken API with your Client ID before you won’t be able to use it since it’s close to being decomissioned I think. You should get a message similar to the one below if that’s the case:

{
  "error": "Not Found",
  "status": 404,
  "message": "The v5 API is deprecated and will be shutdown on February 28, 2022. Applications that have not accessed v5 before July 15, 2021 no longer have access to v5. For more information on the v5 API shutdown plan, see https://blog.twitch.tv/2021/07/15/legacy-twitch-api-v5-shutdown-details-and-timeline/ and the Twitch API documentation at https://dev.twitch.tv/docs/api."
}

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.