Files
chatrd/js/modules/streamelements/module.js
2025-08-25 01:16:23 -04:00

57 lines
1.5 KiB
JavaScript

/* ------------------------------- */
/* STREAMELEMENTS MODULE VARIABLES */
/* ------------------------------ */
const showStreamelements = getURLParam("showStreamelements", true);
const showStreamElementsTips = getURLParam("showStreamElementsTips", true);
const streamElementsHandlers = {
'StreamElements.Tip': (response) => {
streamElementsEventMessage(response.data);
},
};
if (showStreamelements) {
registerPlatformHandlersToStreamerBot(streamElementsHandlers, '[Streamelements]');
}
async function streamElementsEventMessage(data) {
if (showTwitchRewardRedemptions == false) return;
const template = eventTemplate;
const clone = template.content.cloneNode(true);
const messageId = createRandomString(40);
const userId = createRandomString(40);
const {
header,
platform,
user,
action,
value,
'actual-message': message
} = Object.fromEntries(
[...clone.querySelectorAll('[class]')]
.map(el => [el.className, el])
);
const classes = ['streamelements', 'donation'];
header.remove();
var money = formatCurrency(data.amount,data.currency);
user.innerHTML = `<strong>${data.username}</strong>`;
action.innerHTML = ` donated `;
value.innerHTML = `<strong>${money}</strong>`;
if (data.message) { message.innerHTML = `${data.message}`; }
else { message.remove(); }
addEventItem('streamelements', clone, classes, userId, messageId);
}