boto
This commit is contained in:
parent
4c53f99828
commit
7955a994ca
69
www/boto.js
69
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(', ');
|
||||
}
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in New Issue