-
Notifications
You must be signed in to change notification settings - Fork 0
/
voiceStateUpdate.js
26 lines (23 loc) · 1.06 KB
/
voiceStateUpdate.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* Craig (https://craig.chat/home/) developed by Yahweasel in 2018 under ISC License is used as a reference */
module.exports = (MFBAcvr, oldMember, newMember) => {
let onVCSwitch = (member, toCnl, fromCnl) => {
try{
if(member.id === MFBAcvr.user.id){
let gID = fromCnl.guild.id,
cID = fromCnl.id;
if(gID in MFBAcvr.recorder.activeRecs && cID in MFBAcvr.recorder.activeRecs[gID] && toCnl !== fromCnl){
// Moving a channel causes to terminate a recording
MFBAcvr.logger.log("Terminating the recording: Moved to another channel");
member.guild.voiceConnection.disconnect();
}
}
} catch(ex) {
MFBAcvr.logger.error("CATCHED EX (onVCSwitch): " + ex.stack + "");
}
};
if(oldMember.voiceChannel && newMember.voiceChannel && oldMember.voiceChannel.id !== newMember.voiceChannel.id){
onVCSwitch(newMember, newMember.voiceChannel, oldMember.voiceChannel);
} else if(oldMember.voiceChannel && !newMember.voiceChannel){
onVCSwitch(oldMember, null, oldMember.voiceChannel);
}
};