function getBetterTTVChannelEmotes(twitchId, emotes) { return fetch(`https://api.betterttv.net/3/cached/users/twitch/${twitchId}`) .then((r) => r.json()) .then((json) => { if ("message" in json) { addSystemMessage(`${json["message"]} (BetterTTV)`); return; } for (const e of [...json["channelEmotes"], ...json["sharedEmotes"]]) { emotes[e["code"]] = `https://cdn.betterttv.net/emote/${e["id"]}/1x.webp`; } }); } function getBetterTTVGlobalEmotes(emotes) { return fetch(`https://api.betterttv.net/3/cached/emotes/global`) .then((r) => r.json()) .then((json) => { for (const e of json) { emotes[e["code"]] = `https://cdn.betterttv.net/emote/${e["id"]}/1x.webp`; } }); }