Added support for YouTube Subscriber events

This commit is contained in:
nutty
2026-09-14 12:50:59 +10:00
parent e17ee3d74a
commit 1a35418602
6 changed files with 116 additions and 0 deletions
+35
View File
@@ -68,6 +68,7 @@ const showKickGifts = GetBooleanParam("showKickGifts", true);
const showYouTubeMessages = GetBooleanParam("showYouTubeMessages", true);
const showYouTubeSuperChats = GetBooleanParam("showYouTubeSuperChats", true);
const showYouTubeSuperStickers = GetBooleanParam("showYouTubeSuperStickers", true);
const showYouTubeSubscribers = GetBooleanParam("showYouTubeSubscribers", false);
const showYouTubeMemberships = GetBooleanParam("showYouTubeMemberships", true);
const enableTikTokSupport = GetBooleanParam("enableTikTokSupport", false);
@@ -271,6 +272,11 @@ client.on('YouTube.SuperSticker', (response) => {
YouTubeSuperSticker(response.data);
})
client.on('YouTube.NewSubscriber', (response) => {
console.debug(response.data);
YouTubeNewSubscriber(response.data);
})
client.on('YouTube.NewSponsor', (response) => {
console.debug(response.data);
YouTubeNewSponsor(response.data);
@@ -1662,6 +1668,35 @@ function YouTubeSuperSticker(data) {
AddMessageItem(instance);
}
function YouTubeNewSubscriber(data) {
if (!showYouTubeSubscribers)
return;
// Get a reference to the template
const template = document.getElementById('cardTemplate');
// Create a new instance of the template
const instance = template.content.cloneNode(true);
// Get divs
const cardDiv = instance.querySelector("#card");
const headerDiv = instance.querySelector("#header");
const avatarDiv = instance.querySelector("#avatar");
const iconDiv = instance.querySelector("#icon");
const titleDiv = instance.querySelector("#title");
const contentDiv = instance.querySelector("#content");
// Set the card background colors
cardDiv.classList.add('youtube');
// Set the text
let username = data.user.name;
titleDiv.innerText = `${username} subscribed`;
AddMessageItem(instance, JSON.stringify(data));
}
function YouTubeNewSponsor(data) {
if (!showYouTubeMemberships)
return;
+8
View File
@@ -379,6 +379,14 @@
"defaultValue": true,
"group": "Which YouTube messages do you want to see?"
},
{
"id": "showYouTubeSubscribers",
"label": "New Subscribers",
"description": "",
"type": "checkbox",
"defaultValue": false,
"group": "Which YouTube messages do you want to see?"
},
{
"id": "showYouTubeMemberships",
"label": "Memberships",