Added support for Twitch Power Ups

This commit is contained in:
nutty
2026-05-10 21:44:34 +10:00
parent e4761eae79
commit f92ffcc5da
9 changed files with 164 additions and 0 deletions
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" viewBox="0 0 2664 2665" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
<g transform="matrix(1.03455,0,0,1.03455,-46.020186,0)">
<path d="M1332,0L2444,1578L1332,2576L220,1578L1332,0ZM1332,1778L1922,1519L1332,622L742,1519L1332,1778Z" style="fill:white;"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 658 B

+23
View File
@@ -46,6 +46,7 @@ const showTwitchAnnouncements = GetBooleanParam("showTwitchAnnouncements", true)
const showTwitchFollows = GetBooleanParam("showTwitchFollows", false);
const showTwitchSubs = GetBooleanParam("showTwitchSubs", true);
const showTwitchChannelPointRedemptions = GetBooleanParam("showTwitchChannelPointRedemptions", true);
const showTwitchPowerUpRedemptions = GetBooleanParam("showTwitchPowerUpRedemptions", true);
const showTwitchRaids = GetBooleanParam("showTwitchRaids", true);
const showTwitchWatchStreaks = GetBooleanParam("showTwitchWatchStreaks", true);
const showTwitchSharedChat = GetBooleanParam("showTwitchSharedChat", true);
@@ -181,6 +182,11 @@ client.on('Twitch.RewardRedemption', (response) => {
TwitchRewardRedemption(response.data);
})
client.on('Twitch.CustomPowerUpRedemption', (response) => {
console.debug(response.data);
TwitchCustomPowerUpRedemption(response.data);
})
client.on('Twitch.Raid', (response) => {
console.debug(response.data);
TwitchRaid(response.data);
@@ -788,6 +794,23 @@ async function TwitchRewardRedemption(data) {
ShowAlert(message, 'twitch');
}
async function TwitchCustomPowerUpRedemption(data) {
if (!showTwitchPowerUpRedemptions)
return;
let username = data.user.name;
if (data.user.name.toLowerCase() != data.user.login.toLowerCase())
username = `${data.user.name} (${data.user.login})`;
const powerUpName = data.custom_power_up.title;
const cost = data.custom_power_up.bits_cost;
const prompt = data.custom_power_up.prompt;
const bitIcon = `<img src="icons/badges/twitch-bit.svg" class="platform"/>`;
let message = `${username} redeemed ${powerUpName} ${bitIcon} ${cost}`;
ShowAlert(message, 'twitch');
}
async function TwitchRaid(data) {
if (!showTwitchRaids)
return;
+8
View File
@@ -175,6 +175,14 @@
"defaultValue": true,
"group": "Which Twitch messages do you want to see?"
},
{
"id": "showTwitchPowerUpRedemptions",
"label": "Power-Up Redemptions",
"description": "",
"type": "checkbox",
"defaultValue": true,
"group": "Which Twitch messages do you want to see?"
},
{
"id": "showTwitchRaids",
"label": "Raids",