diff --git a/README.md b/README.md index ba1eb28..2397aec 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@

Description

A subathon timer that increases when someone subscribes, donates money, donates bits or purchases streamloots chests.

+

Added is a Timer that gets saved (in localStorage) and can be reset.

+

When you open the index.html you get to chose between "Reset" or "Start".


Preview

diff --git a/config.js b/config.js index d2b1a7b..e648880 100644 --- a/config.js +++ b/config.js @@ -1,3 +1,6 @@ +// Happy Hour +var happpy_hour = true //set to true or false, to enable/disable the happy hours function + // Login Data var twitch_channel_name = "" var streamlabs_token = "" @@ -5,9 +8,9 @@ var streamelements_token = "" var streamloots_token = "" // Initial Counter Config -var initialHours = 2 -var initialMinutes = 0 -var initialSeconds = 0 +var initialHoursConfig = 2 +var initialMinutesConfig = 0 +var initialSecondsConfig = 0 // General Twitch, Streamlabs And StreamElements Config var seconds_added_per_sub_prime = 60 @@ -24,13 +27,28 @@ var seconds_added_per_giftsub_tier1 = 60 var seconds_added_per_giftsub_tier2 = 180 var seconds_added_per_giftsub_tier3 = 480 -var min_amount_of_bits = 999999999999999 -var seconds_added_per_bits = 0 +// General Twitch, Streamlabs And StreamElements Config for Happy Hour +var seconds_added_per_sub_prime_happy = 120 +var seconds_added_per_sub_tier1_happy = 120 +var seconds_added_per_sub_tier2_happy = 360 +var seconds_added_per_sub_tier3_happy = 960 + +var seconds_added_per_resub_prime_happy = 120 +var seconds_added_per_resub_tier1_happy = 120 +var seconds_added_per_resub_tier2_happy = 360 +var seconds_added_per_resub_tier3_happy = 960 + +var seconds_added_per_giftsub_tier1_happy = 120 +var seconds_added_per_giftsub_tier2_happy = 360 +var seconds_added_per_giftsub_tier3_happy = 960 + +// var min_amount_of_bits = 500 +// var seconds_added_per_bits = 30 // Streamlabs And StreamElements Config -var min_donation_amount = 999999999999999 -var seconds_added_per_donation = 0 +// var min_donation_amount = 5 +// var seconds_added_per_donation = 30 // Streamloots Config -var min_amount_of_chests = 99999999999999999 -var seconds_added_per_chests = 0 +// var min_amount_of_chests = 5 +// var seconds_added_per_chests = 30 diff --git a/css/style.css b/css/style.css index ca65d86..35aad8c 100644 --- a/css/style.css +++ b/css/style.css @@ -207,4 +207,4 @@ canvas { /*color: var(--background-color);*/ color:white; transition: top 1s ease-out, opacity .5s ease-out; -} +} \ No newline at end of file diff --git a/index.html b/index.html index 4a2582f..53c274f 100644 --- a/index.html +++ b/index.html @@ -48,4 +48,4 @@ - + \ No newline at end of file diff --git a/js/api/twitch.js b/js/api/twitch.js index d7c4ed6..1884d02 100644 --- a/js/api/twitch.js +++ b/js/api/twitch.js @@ -12,23 +12,65 @@ if (twitch_channel_name !== "") { client.on('subscription', (channel, username, methods, message, userstate) => { if (!countdownEnded) { - switch (methods['plan']) { - case "Prime": - addTime(endingTime, seconds_added_per_sub_prime); - logMessage("Twitch", `Added ${seconds_added_per_sub_prime} Seconds Because ${username} Subscribed With Prime`); - break; - case "1000": - addTime(endingTime, seconds_added_per_sub_tier1); - logMessage("Twitch", `Added ${seconds_added_per_sub_tier1} Seconds Because ${username} Subscribed With Tier 1`); - break; - case "2000": - addTime(endingTime, seconds_added_per_sub_tier2); - logMessage("Twitch", `Added ${seconds_added_per_sub_tier2} Seconds Because ${username} Subscribed With Tier 2`); - break; - case "3000": - addTime(endingTime, seconds_added_per_sub_tier3); - logMessage("Twitch", `Added ${seconds_added_per_sub_tier3} Seconds Because ${username} Subscribed With Tier 3`); - break; + if(happpy_hour == true && happy_hour_active == false){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_sub_prime); + logMessage("Twitch", `Added ${seconds_added_per_sub_prime} Seconds Because ${username} Subscribed With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_sub_tier1); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier1} Seconds Because ${username} Subscribed With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_sub_tier2); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier2} Seconds Because ${username} Subscribed With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_sub_tier3); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier3} Seconds Because ${username} Subscribed With Tier 3`); + break; + } + } + else if(happpy_hour == true && happy_hour_active == true){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_sub_prime_happy); + logMessage("Twitch", `Added ${seconds_added_per_sub_prime_happy} Seconds Because ${username} Subscribed With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_sub_tier1_happy); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier1_happy} Seconds Because ${username} Subscribed With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_sub_tier2_happy); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier2_happy} Seconds Because ${username} Subscribed With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_sub_tier3_happy); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier3_happy} Seconds Because ${username} Subscribed With Tier 3`); + break; + } + } + else if(happpy_hour == false){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_sub_prime); + logMessage("Twitch", `Added ${seconds_added_per_sub_prime} Seconds Because ${username} Subscribed With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_sub_tier1); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier1} Seconds Because ${username} Subscribed With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_sub_tier2); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier2} Seconds Because ${username} Subscribed With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_sub_tier3); + logMessage("Twitch", `Added ${seconds_added_per_sub_tier3} Seconds Because ${username} Subscribed With Tier 3`); + break; + } } if (!users.includes(username)) { users.push(username); @@ -38,23 +80,65 @@ if (twitch_channel_name !== "") { client.on('resub', (channel, username, months, message, userstate, methods) => { if (!countdownEnded) { - switch (methods['plan']) { - case "Prime": - addTime(endingTime, seconds_added_per_resub_prime); - logMessage("Twitch", `Added ${seconds_added_per_resub_prime} Seconds Because ${username} ReSubscribed With Prime`); - break; - case "1000": - addTime(endingTime, seconds_added_per_resub_tier1); - logMessage("Twitch", `Added ${seconds_added_per_resub_tier1} Seconds Because ${username} ReSubscribed With Tier 1`); - break; - case "2000": - addTime(endingTime, seconds_added_per_resub_tier2); - logMessage("Twitch", `Added ${seconds_added_per_resub_tier2} Seconds Because ${username} ReSubscribed With Tier 2`); - break; - case "3000": - addTime(endingTime, seconds_added_per_resub_tier3); - logMessage("Twitch", `Added ${seconds_added_per_resub_tier3} Seconds Because ${username} ReSubscribed With Tier 3`); - break; + if(happpy_hour == true && happy_hour_active == false){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_resub_prime); + logMessage("Twitch", `Added ${seconds_added_per_resub_prime} Seconds Because ${username} ReSubscribed With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_resub_tier1); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier1} Seconds Because ${username} ReSubscribed With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_resub_tier2); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier2} Seconds Because ${username} ReSubscribed With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_resub_tier3); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier3} Seconds Because ${username} ReSubscribed With Tier 3`); + break; + } + } + else if(happpy_hour == true && happy_hour_active == true){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_resub_prime_happy); + logMessage("Twitch", `Added ${seconds_added_per_resub_prime_happy} Seconds Because ${username} ReSubscribed With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_resub_tier1_happy); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier1_happy} Seconds Because ${username} ReSubscribed With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_resub_tier2_happy); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier2_happy} Seconds Because ${username} ReSubscribed With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_resub_tier3_happy); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier3_happy} Seconds Because ${username} ReSubscribed With Tier 3`); + break; + } + } + else if(happpy_hour == false){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_resub_prime); + logMessage("Twitch", `Added ${seconds_added_per_resub_prime} Seconds Because ${username} ReSubscribed With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_resub_tier1); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier1} Seconds Because ${username} ReSubscribed With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_resub_tier2); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier2} Seconds Because ${username} ReSubscribed With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_resub_tier3); + logMessage("Twitch", `Added ${seconds_added_per_resub_tier3} Seconds Because ${username} ReSubscribed With Tier 3`); + break; + } } if (!users.includes(username)) { users.push(username); @@ -64,23 +148,65 @@ if (twitch_channel_name !== "") { client.on('subgift', (channel, username, months, recipient, methods, userstate) => { if (!countdownEnded) { - switch (methods['plan']) { - case "Prime": - addTime(endingTime, seconds_added_per_giftsub_tier1); - logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier1} Seconds Because ${username} Gifted A Tier 1 Sub`); - break; - case "1000": - addTime(endingTime, seconds_added_per_giftsub_tier1); - logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier1} Seconds Because ${username} Gifted A Tier 1 Sub`); - break; - case "2000": - addTime(endingTime, seconds_added_per_giftsub_tier2); - logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier2} Seconds Because ${username} Gifted A Tier 2 Sub`); - break; - case "3000": - addTime(endingTime, seconds_added_per_giftsub_tier3); - logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier3} Seconds Because ${username} Gifted A Tier 3 Sub`); - break; + if(happpy_hour == true && happy_hour_active == false){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_giftsub_prime); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_prime} Seconds Because ${username} gifted Sub With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_giftsub_tier1); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier1} Seconds Because ${username} gifted Sub With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_giftsub_tier2); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier2} Seconds Because ${username} gifted Sub With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_giftsub_tier3); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier3} Seconds Because ${username} gifted Sub With Tier 3`); + break; + } + } + else if(happpy_hour == true && happy_hour_active == true){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_giftsub_prime_happy); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_prime_happy} Seconds Because ${username} gifted Sub With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_giftsub_tier1_happy); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier1_happy} Seconds Because ${username} gifted Sub With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_giftsub_tier2_happy); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier2_happy} Seconds Because ${username} gifted Sub With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_giftsub_tier3_happy); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier3_happy} Seconds Because ${username} gifted Sub With Tier 3`); + break; + } + } + else if(happpy_hour == false){ + switch (methods['plan']) { + case "Prime": + addTime(endingTime, seconds_added_per_giftsub_tier1); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier1} Seconds Because ${username} gifted Sub With Prime`); + break; + case "1000": + addTime(endingTime, seconds_added_per_giftsub_tier1); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier1} Seconds Because ${username} gifted Sub With Tier 1`); + break; + case "2000": + addTime(endingTime, seconds_added_per_giftsub_tier2); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier2} Seconds Because ${username} gifted Sub With Tier 2`); + break; + case "3000": + addTime(endingTime, seconds_added_per_giftsub_tier3); + logMessage("Twitch", `Added ${seconds_added_per_giftsub_tier3} Seconds Because ${username} gifted Sub With Tier 3`); + break; + } } if (!users.includes(username)) { users.push(username);