如何使用 twitch 表情 API

how to use twitch emote API

这是一个网站 ( https://twitchemotes.com/apidocs ),它显示了 API 以获得抽搐表情(基本上,json 描述了属于不同用户的一组图像)。

API 看起来很简单 - 但他们没有请求示例。因此,对于此示例调用 ( https://twitchemotes.com/api_cache/v3/subscriber.json ),它 returns 一个 巨大的 数据量。

如何将请求缩小到单个频道?

该网站有该示例 URL 和示例响应,但没有关于如何请求单个频道的信息。所以,我假设我应该从一些常识中汲取知识,以便能够得出如何做到这一点?不幸的是,我显然缺乏这方面的知识。我错过了什么?

这个 URL 可以为您提供所有表情和大量其他信息:

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

其中 timthetatman 是频道的 username/login。

emoticons属性只有第一层表情。您可以在 plans 对象中获取所有这些:

data.plans.reduce((p, n) => p.concat(n.emoticons), []);

您可以在表情对象中直接获得 URL,但首选 URL 格式如下:

https://static-cdn.jtvnw.net/emoticons/v1/123456/1.0

其中 123456 是表情 ID,1.0 是比例。比例可以是 1.02.03.0

let id = data.plans[0].emoticons[0].id;
let emoteURL = `https://static-cdn.jtvnw.net/emoticons/v1/${id}/1.0`;

您需要发出两个请求才能获得特定频道的表情:

  1. http://api.twitch.tv/api/channels/:channel_name/product

您可以使用此请求来解析频道的表情集 ID。对于 plan 数组下的大多数频道,您将拥有 3 个对象,每个对象包含一个或多个 emoticon_set_ids 数组。对于大多数频道,总共有 3 个。某些没有 3 层订阅的频道可能没有 plan 数组,因此您可以查看 emoticons

(此端点不是为第 3 方使用而设计的,但它可以工作并且可能不会有太大变化。需要发送 Kraken 客户端 ID。)

  1. https://api.twitch.tv/kraken/chat/emoticon_images?emotesets=:emoticon_set_list

(海妖 v3)

获取 3 个 emoticon_set_ids 值并将它们作为逗号分隔列表附加到 emotesets 参数。

我是 Twitchemotes 的所有者,这基本上是我用来更新索引的过程。

api.twitch.tv不见了。

您也可以使用这个 API: https://twitchemotes.com/apidocs