/* ---------------------------- */
/* STREAMLABS MODULE VARIABLES */
/* ---------------------------- */
const showStreamlabs = getURLParam("showStreamlabs", true);
const showStreamlabsDonations = getURLParam("showStreamlabsDonations", true);
const streamlabsHandlers = {
'Streamlabs.Donation' : (response) => {
streamLabsEventMessage(response.data);
},
};
if (showStreamlabs) {
registerPlatformHandlersToStreamerBot(streamlabsHandlers, '[Streamlabs]');
}
async function streamLabsEventMessage(data) {
if (showStreamlabsDonations == 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 = ['streamlabs', 'donation'];
header.remove();
var money = formatCurrency(data.amount,data.currency);
user.innerHTML = `${data.from}`;
action.innerHTML = ` donated `;
value.innerHTML = `${money}`;
if (data.message) { message.innerHTML = `${data.message}`; }
else { message.remove(); }
addEventItem('streamlabs', clone, classes, userId, messageId);
}