Include twitch message metadata

This commit is contained in:
2026-01-13 22:00:24 +01:00
parent 467977ddac
commit c9aac6e4f1
3 changed files with 87 additions and 15 deletions

View File

@@ -7,14 +7,20 @@ const scriptLayer = document.getElementById("broadcast-script-layer");
setUpElectronWindowFrame();
const renderer = new BroadcastRenderer({ canvas, scriptLayer, broadcaster, showToast });
const disconnectChat = connectTwitchChat(broadcaster, ({ channel, displayName, message }) => {
console.log(`[twitch:${broadcaster}] ${displayName}: ${message}`);
renderer.receiveChatMessage({
channel,
displayName,
message,
});
});
const disconnectChat = connectTwitchChat(
broadcaster,
({ channel, displayName, message, tags, prefix, raw }) => {
console.log(`[twitch:${broadcaster}] ${displayName}: ${message}`);
renderer.receiveChatMessage({
channel,
displayName,
message,
tags,
prefix,
raw,
});
},
);
setUpElectronWindowResizeListener(canvas);
renderer.start();

View File

@@ -47,6 +47,7 @@ const parseIrcMessage = (rawLine) => {
params,
prefix,
tags,
raw: rawLine,
};
};
@@ -64,6 +65,9 @@ const extractChatMessage = (ircMessage) => {
channel,
displayName,
message,
tags: ircMessage.tags,
prefix: ircMessage.prefix,
raw: ircMessage.raw,
};
};
@@ -80,7 +84,7 @@ export const connectTwitchChat = (channelName, onMessage = console.log) => {
socket.addEventListener("open", () => {
socket.send(`PASS ${ANON_PASSWORD}`);
socket.send(`NICK ${nick}`);
socket.send("CAP REQ :twitch.tv/tags twitch.tv/commands");
socket.send("CAP REQ :twitch.tv/tags twitch.tv/commands twitch.tv/membership");
socket.send(`JOIN #${normalizedChannel}`);
});
@@ -102,6 +106,9 @@ export const connectTwitchChat = (channelName, onMessage = console.log) => {
channel: chatMessage.channel,
displayName: chatMessage.displayName,
message: chatMessage.message,
tags: chatMessage.tags,
prefix: chatMessage.prefix,
raw: chatMessage.raw,
});
}
});