summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-10-26 16:54:00 +0500
committerilotterytea <iltsu@alright.party>2025-10-26 16:54:00 +0500
commit4e23f34e6e45c7da718e923b94d831a4b5badcb7 (patch)
treef09d019764afe5f7b02060f2abddc87299f005e5
parent8df35446c1b4c549d46c11dcbeaa0d108820b23a (diff)
feat: twitch emotes
-rw-r--r--scripts/chat.js22
1 files changed, 21 insertions, 1 deletions
diff --git a/scripts/chat.js b/scripts/chat.js
index a5ecafc..da54647 100644
--- a/scripts/chat.js
+++ b/scripts/chat.js
@@ -63,6 +63,24 @@ function addMessage(message) {
}
}
+ // parsing twitch emotes
+ if ("emotes" in message.tags && message.tags["emotes"].length > 0) {
+ const parts = message.tags["emotes"].split("/");
+ for (const part of parts) {
+ const p = part.split(":");
+ const id = p[0];
+ const positions = p[1].split(",");
+
+ for (const pos of positions) {
+ const p = pos.split("-");
+ const start = p[0];
+ const end = p[1];
+ const emotename = message.params[1].substring(parseInt(start), parseInt(end) + 1);
+ emotes[emotename] = `https://static-cdn.jtvnw.net/emoticons/v2/${id}/default/dark/1.0`;
+ }
+ }
+ }
+
// username
const usernameElem = document.createElement("span");
elem.append(usernameElem);
@@ -123,7 +141,9 @@ function connectToChat(host, nick, password, room) {
if (l.length == 0) {
continue;
}
- addMessage(parseIRCMessage(l));
+ let m = parseIRCMessage(l);
+ console.log(m);
+ addMessage(m);
}
});