diff --git a/www/boto.js b/www/boto.js index b0d3e38..3c85e6a 100644 --- a/www/boto.js +++ b/www/boto.js @@ -1,49 +1,48 @@ -const usersElement = document.querySelector('#count'); +const countElement = document.querySelector('#count'); const usersElement = document.querySelector('#users'); +const statusElement = document.querySelector('#status'); +const params = new URLSearchParams(window.location.search); +const channel = params.get('channel') || 'codinggarden'; const client = new tmi.Client({ - options: { debug: true }, + connection: { + secure: true, + reconnect: true, + }, + channels: [channel], +}); //identity: { // username: 'sariboto', // password: 'oauth:480i2mbv7zvfjz1t3wplj5di530p9r' //}, - connection: { - secure: true, - reconnect: true, - } - channels: [ 'sarimoko' ] -}); -client.connect(); +client.connect().then(() => { + statusElement.textContent = `Listening for messages in ${channel}...`; +}); let listeningForCount = false; let users = {}; -client.on('message', (channel, tags, message, self) => { - if(self) return; - const { username } = tags; - if (username === 'sarimoko') { - if (message === '!startcount') { - listeningForCount = true; - } else if (message === '!endcount'){ - listeningForCount= false; - // say count out loud - const sayCount = new SpeechSynthesisUtterance(Object.keys(users).length) - window.speechSynthesis.speak(sayCount); - }else if (message === '!clearcount'){ - listeningForCount= false; - countElement.textContent = 'Waiting for count...'; - userElement.textContent = ''; - users = {}; - } - } else if (listeningForCount && message === '1') { - users[tags.username] = true; - // display current count page. - countElement.textContent = Object.keys(users).length; - userElement.textContent = Object.keys(users).join(', '); - //console.log(Object.keys(users).length); +client.on('message', (wat, tags, message, self) => { + if (self) return; + const { username } = tags; + if (username.toLowerCase() === channel.toLowerCase()) { + if (message === '!start-count') { + listeningForCount = true; + } else if (message === '!end-count') { + listeningForCount = false; + // say count out loud. + const sayCount = new SpeechSynthesisUtterance(Object.keys(users).length); + window.speechSynthesis.speak(sayCount); + } else if (message === '!clear-count') { + countElement.textContent = 'Waiting for count...'; + usersElement.textContent = ''; + users = {}; } - // "Alca: Hello, World!" - //console.log(`${tags['display-name']}: ${message}`); -}); - + } else if (listeningForCount && message === '1') { + users[tags.username] = true; + // display current count page. + countElement.textContent = Object.keys(users).length; + usersElement.textContent = Object.keys(users).join(', '); + } +}); \ No newline at end of file