Decrement viewer count when appropriate
parent
f966bda4dd
commit
21a85fa26c
|
@ -602,6 +602,7 @@ async function initChat() {
|
||||||
}
|
}
|
||||||
socket.join(data);
|
socket.join(data);
|
||||||
io.to(data).emit('JOINED', {nick: socket.nick, room: data});
|
io.to(data).emit('JOINED', {nick: socket.nick, room: data});
|
||||||
|
db.query('update user_meta set viewers = viewers + 1 where username='+db.raw.escape(data));
|
||||||
}
|
}
|
||||||
else socket.emit('ALERT', 'Room does not exist');
|
else socket.emit('ALERT', 'Room does not exist');
|
||||||
});
|
});
|
||||||
|
@ -622,6 +623,7 @@ async function initChat() {
|
||||||
});
|
});
|
||||||
socket.on('LEAVEROOM', (data) => {
|
socket.on('LEAVEROOM', (data) => {
|
||||||
io.to(data).emit('LEFT', {nick: socket.nick, room: data});
|
io.to(data).emit('LEFT', {nick: socket.nick, room: data});
|
||||||
|
db.query('update user_meta set viewers = viewers - 1 where username='+db.raw.escape(data));
|
||||||
socket.leave(data);
|
socket.leave(data);
|
||||||
});
|
});
|
||||||
socket.on('disconnecting', (reason) => {
|
socket.on('disconnecting', (reason) => {
|
||||||
|
|
|
@ -93,8 +93,6 @@ function init () {
|
||||||
db.query('update user_meta,users set user_meta.live=false where users.stream_key='+db.raw.escape(key));
|
db.query('update user_meta,users set user_meta.live=false where users.stream_key='+db.raw.escape(key));
|
||||||
db.query('select username from users where stream_key='+db.raw.escape(key)+' limit 1').then(async (results) => {
|
db.query('select username from users where stream_key='+db.raw.escape(key)+' limit 1').then(async (results) => {
|
||||||
if(results[0]) keystore.rm(results[0].username);
|
if(results[0]) keystore.rm(results[0].username);
|
||||||
// reset viewer count when finished with stream
|
|
||||||
db.query('update user_meta set viewers = 0 where username='+db.raw.escape(results[0].username));
|
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -127,6 +125,18 @@ function init () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
nms.on('donePlay', (id, StreamPath, args) => {
|
||||||
|
let session = nms.getSession(id);
|
||||||
|
let app: string = StreamPath.split("/")[1];
|
||||||
|
let key: string = StreamPath.split("/")[2];
|
||||||
|
if(!session.isLocal && app === config['media']['publicEndpoint']) {
|
||||||
|
if(keystore[key]){
|
||||||
|
// increment viewer count
|
||||||
|
db.query('update user_meta set viewers = viewers - 1 where username='+db.raw.escape(key));
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function transCommand(user: string, key: string): Promise<string[]>{
|
async function transCommand(user: string, key: string): Promise<string[]>{
|
||||||
|
|
Reference in New Issue