Boto/www/boto.js

50 lines
1.5 KiB
JavaScript

const usersElement = document.querySelector('#count');
const usersElement = document.querySelector('#users');
const client = new tmi.Client({
options: { debug: true },
//identity: {
// username: 'sariboto',
// password: 'oauth:480i2mbv7zvfjz1t3wplj5di530p9r'
//},
connection: {
secure: true,
reconnect: true,
}
channels: [ 'sarimoko' ]
});
client.connect();
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);
}
// "Alca: Hello, World!"
//console.log(`${tags['display-name']}: ${message}`);
});