V5 and the case of the missing endpoints (2)

Hello everyone,

This topic is meant to be a follow-up to V5 and the case of the missing endpoints.

I have an app that requires getting the emotes that users would have if they subscribed to a specific channel (aka, sub emotes). With API V3 I could get it with endpoint https://api.twitch.tv/kraken/chat/{0}/emoticons. But, as mentioned in the referenced previous topic, there is no easy way to get that now.

DallasNChains checked it up and in his last message on the previous topic, he explains that Twitch team is looking to reimplement this and that he’ll keep the OP posted. It’s been 5 months since. Do we have news on this ? We’re slowly but surely moving towards V3 end, and if no endpoint fixing this issue is created before that, my app will eventually stop working :frowning:

Thanks in advance for your attention !

Anyone has any information on this please ?

I’m a little confused. Are you looking for the emotes for a given channel (/kraken/chat/{0}/emoticons) or the emotes a user can use? You can still get a user’s emotes with v5 today, which is why I ask: https://dev.twitch.tv/docs/v5/reference/users/#get-user-emotes

Hello,
Yes I’m looking for the emotes for a given channel (/kraken/chat/{0}/emoticons). I have moved my app to V5 except for this endpoint.
Thanks for your attention :slight_smile:

The best way that I know of is the endpoint for the “product” (channel subscription)

https://api.twitch.tv/api/channels/:channel_name/product

Where channel_name is the name of the channel, not the ID. This isn’t Kraken so it isn’t supported or documented anywhere.

The emoticons key is only the tier 1 emotes so use plans[0...n].emoticons to build up the full list. It is also possible for plans to be an empty array so you would need to fallback to emoticons. For instance, “TimTheTatman” has plans and “Shaboozey” does not.

Truncated example:

{
	"name": "timthetatman",
	"custom_name": "Channel Subscription (TimTheTatMan)",
	"product_url": "https://www.twitch.tv/products/timthetatman",
	"html": "...",
	"css": "...",
	"price": "$4.99",
	"hide_ads": true,
	"xsolla_product_id": "6947",
	"subonly_archives": false,
	"subsonly": false,
	"fastsubs": true,
	"bitrate_access": [],
	"payment_amendment_unsigned": false,
	"sub_interval": "month",
	"plans": [
		{
			"name": "timthetatman",
			"custom_name": "Channel Subscription (TimTheTatMan)",
			"product_url": "https://www.twitch.tv/products/timthetatman",
			"price": "$4.99",
			"plan": "1000",
			"hide_ads": true,
			"xsolla_product_id": "6947",
			"subonly_archives": false,
			"subsonly": false,
			"fastsubs": true,
			"bitrate_access": [],
			"emoticon_set_ids": [
				1159
			],
			"sub_interval": "month",
			"emoticons": [
				{
					"id": 309686,
					"width": 28,
					"height": 28,
					"state": "active",
					"regex": "tatBURP",
					"emoticon_set": 1159,
					"url": "https://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-309686-src-14517dddb609ed22-28x28.png",
					"subscriber_only": true
				},
				{
					"id": 187162,
					"width": 28,
					"height": 28,
					"state": "active",
					"regex": "tatS",
					"emoticon_set": 1159,
					"url": "https://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-187162-src-a358994a8d8ea41f-28x28.png",
					"subscriber_only": true
				}
			]
		},
		{
			"name": "timthetatman_2000",
			"custom_name": "Channel Subscription (TimTheTatMan): $9.99 Sub",
			"product_url": "https://www.twitch.tv/products/timthetatman_2000",
			"price": "$9.99",
			"plan": "2000",
			"hide_ads": true,
			"xsolla_product_id": "144945",
			"subonly_archives": false,
			"subsonly": false,
			"fastsubs": true,
			"bitrate_access": [],
			"emoticon_set_ids": [
				1159,
				26298
			],
			"sub_interval": "month",
			"emoticons": [
				{
					"id": 212548,
					"width": 28,
					"height": 28,
					"state": "active",
					"regex": "tatBEST",
					"emoticon_set": 26298,
					"url": "https://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-212548-src-2252e1c7da9781f5-28x28.png",
					"subscriber_only": true
				}
			]
		},
		{
			"name": "timthetatman_3000",
			"custom_name": "Channel Subscription (TimTheTatMan): $24.99 Sub",
			"product_url": "https://www.twitch.tv/products/timthetatman_3000",
			"price": "$24.99",
			"plan": "3000",
			"hide_ads": true,
			"xsolla_product_id": "144946",
			"subonly_archives": false,
			"subsonly": false,
			"fastsubs": true,
			"bitrate_access": [],
			"emoticon_set_ids": [
				1159,
				26298,
				26299
			],
			"sub_interval": "month",
			"emoticons": [
				{
					"id": 212547,
					"width": 28,
					"height": 28,
					"state": "active",
					"regex": "tatHey",
					"emoticon_set": 26299,
					"url": "https://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-212547-src-953e27aae1d6fe8c-28x28.png",
					"subscriber_only": true
				}
			]
		}
	],
	"emoticons": [
		{
			"id": 309686,
			"width": 28,
			"height": 28,
			"state": "active",
			"regex": "tatBURP",
			"emoticon_set": 1159,
			"url": "https://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-309686-src-14517dddb609ed22-28x28.png",
			"subscriber_only": true
		},
		{
			"id": 187162,
			"width": 28,
			"height": 28,
			"state": "active",
			"regex": "tatS",
			"emoticon_set": 1159,
			"url": "https://static-cdn.jtvnw.net/jtv_user_pictures/emoticon-187162-src-a358994a8d8ea41f-28x28.png",
			"subscriber_only": true
		}
	]
}

That’s great ! This perfectly fits my needs, thanks a lot for this answer !
It’s unfortunate that it’s not an official kraken endpoint, but at least my app will keep working :slight_smile:

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