Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Put the commands you want timer for inside here.
- //Don't include '!'
- const cooldowns = {
- 'gamble': 5,
- 'slots': 1,
- 'give': 1,
- 'request': 1
- };
- /*DO NOT CHANGE ANYTHING BELOW THIS POINT IF YOU DON'T KNOW WHAT YOU ARE DOING*/
- window.onload = ()=>{
- const $chatMsg = document.querySelector('textarea[data-a-target=chat-input]');
- const $sndBtn = document.querySelector('button[data-a-target=chat-send-button]');
- const $container = document.querySelector('div[data-test-selector=chat-input-buttons-container]');
- const $timerDiv = document.createElement('div');
- const updateColor = () => {
- let cmd = $chatMsg.value.match(RegExp("^!("+Object.keys(cooldowns).join('|')+")"));
- if(cmd){
- localStorage[cmd[1]] = Date.now() + (cooldowns[cmd[1]] * 60e3);
- let el = document.getElementById(cmd[1]);
- el.style.color = "darkred";
- el.style.fontWeight = "bold";
- el.style.backroundColor="rgba(130,0,0,.8)";
- }
- };
- Object.keys(cooldowns).forEach(e=>{
- if(!localStorage[e]){
- localStorage[e] = Date.now() + cooldowns[e] * 60e3;
- }
- });
- Object.keys(cooldowns).forEach(e=>{
- let el = document.createElement('div');
- el.id = e;
- el.className = "tw-relative";
- el.style.margin = "0 .5em";
- el.innerText = "!"+e;
- el.style.color = localStorage[e] > Date.now() ? 'darkred':'green';
- el.style.fontWeight = localStorage[e] > Date.now() ? 'normal':'bold';
- el.style.backgroundColor = localStorage[e] > Date.now() ? 'rgba(130,0,0,.8)':'transparent';
- $timerDiv.appendChild(el);
- });
- $timerDiv.className = "tw-align-content-center tw-align-items-center tw-flex tw-flex-row";
- $container.insertBefore($timerDiv, $container.children[$container.children.length-1]);
- $sndBtn.addEventListener('click',updateColor);
- $chatMsg.addEventListener('keydown', e=>{
- if(e.keyCode != 13) return;
- updateColor();
- });
- setInterval(()=>{
- Object.keys(cooldowns).forEach(e=>{
- if(localStorage[e] < Date.now()){
- let el = document.getElementById(e);
- el.style.color = "green";
- el.style.fontWeight = "bold";
- el.style.backgroundColor ="transparent";
- }else{
- let el = document.getElementById(e);
- var alpha = ((localStorage[e] - Date.now())/(cooldowns[e]* 60e3));
- el.style.backgroundColor = "rgba(130,0,0,"+.8*alpha+")";
- }
- });
- },1e3);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement