Skip to content

Commit

Permalink
twitch redems that include a message will include the redeem event no…
Browse files Browse the repository at this point in the history
…w also
  • Loading branch information
steveseguin committed Jun 10, 2024
1 parent a3e5ab6 commit 4ca6ff9
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 14 deletions.
2 changes: 1 addition & 1 deletion manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "Social Stream Ninja",
"description": "Powerful tooling to engage live chat on Youtube, Twitch, Zoom, and more.",
"manifest_version": 2,
"version": "1.77.7",
"version": "1.77.8",
"homepage_url": "http://socialstream.ninja/",
"icons": {
"128": "icons/icon-128.png"
Expand Down
40 changes: 27 additions & 13 deletions sources/twitch.js
Original file line number Diff line number Diff line change
Expand Up @@ -210,15 +210,15 @@
var lastEle = null;
//var midList = [];

function processMessage(ele) {
function processMessage(ele, event=false) {
// twitch

var chatsticker = false;
var chatmessage = "";
var nameColor = "";
var donations = 0;
var highlightColor = "";

try {
var displayNameEle = ele.querySelector(".chat-author__display-name, .chatter-name") || ele.querySelector(".seventv-chat-user-username");
var displayName = displayNameEle.innerText;
Expand Down Expand Up @@ -292,7 +292,11 @@
} catch (e) {}

try {
var eleContent = ele.querySelector(".seventv-chat-message-body") || ele.querySelector(".seventv-message-context") || ele.querySelector('*[data-test-selector="chat-line-message-body"]') || ele.querySelector('*[data-a-target="chat-line-message-body"]');
if (event){
var eleContent = ele.childNodes[0];
} else {
var eleContent = ele.querySelector(".seventv-chat-message-body") || ele.querySelector(".seventv-message-context") || ele.querySelector('*[data-test-selector="chat-line-message-body"]') || ele.querySelector('*[data-a-target="chat-line-message-body"]');
}

chatmessage = getAllContentNodes(eleContent);

Expand All @@ -301,7 +305,7 @@
}
} catch (e) {}

if (!chatmessage) {
if (!chatmessage && !event) {
try {
var eleContent = ele.querySelector("span.message");
chatmessage = getAllContentNodes(eleContent);
Expand All @@ -311,7 +315,7 @@
} catch (e) {}
}

if (!chatmessage) {
if (!chatmessage && !event) {
try {
var eleContent = ele.querySelector(".chat-line__message-container .chat-line__username-container").nextElementSibling.nextElementSibling;
chatmessage = getAllContentNodes(eleContent);
Expand All @@ -331,7 +335,7 @@
} catch (e) {}
}

if (!chatmessage) {
if (!chatmessage && !event) {
try {
var eleContent = ele.querySelector(".paid-pinned-chat-message-content-container").childNodes;

Expand Down Expand Up @@ -659,6 +663,13 @@
}

function processEvent(ele) {

try {
ele = ele.childNodes[0];
} catch (e) {
//
}

var data = {};
data.chatname = "";
data.chatbadges = "";
Expand Down Expand Up @@ -750,23 +761,26 @@
}

mutation.addedNodes[i].ignore = true;


if (settings.captureevents && mutation.addedNodes[i].dataset && mutation.addedNodes[i].dataset.testSelector == "user-notice-line") {
processEvent(mutation.addedNodes[i]);
} else if (settings.captureevents && mutation.addedNodes[i].className && mutation.addedNodes[i].classList.contains("user-notice-line")) {
processEvent(mutation.addedNodes[i]);
}

if (mutation.addedNodes[i].className && (mutation.addedNodes[i].classList.contains("seventv-message") || mutation.addedNodes[i].classList.contains("chat-line__message") || (mutation.addedNodes[i].querySelector && mutation.addedNodes[i].querySelector(".paid-pinned-chat-message-content-wrapper")))) {
mutation.addedNodes[i].ignore = true;
callback(mutation.addedNodes[i]);
} else if (mutation.addedNodes[i].querySelector(".chat-line__message")) {
var ele = mutation.addedNodes[i].querySelector(".chat-line__message");
if (ele.ignore) {

if (ele.ignore) {
continue;
} else {
ele.ignore = true;
callback(ele);
}
} else if (settings.captureevents && mutation.addedNodes[i].dataset && mutation.addedNodes[i].dataset.testSelector == "user-notice-line") {
processEvent(mutation.addedNodes[i]);
} else if (settings.captureevents && mutation.addedNodes[i].className && mutation.addedNodes[i].classList.contains("user-notice-line")) {
processEvent(mutation.addedNodes[i]);
}

} catch (e) {}
}
}
Expand Down

0 comments on commit 4ca6ff9

Please sign in to comment.