const printf=require('printf'); const AudioQueue=require('../../AudioQueue.js') module.exports = function (bot, api) { bot.on('voiceStateUpdate', async (oldState, newState) => { if (newState.member.user.bot) return; if (oldState.channel && newState.channel) return; const channel = oldState.channel || newState.channel; if (!channel) return; if (channel.members.size < 2) { return await api.leaveChannel(channel); } await api.joinChannel(channel); let joined = false; if (!oldState.channel) { joined = true; let conn=api.getConnectionForVoiceChannel(channel); api.queue=new AudioQueue(conn, api); } let username = newState.member.displayName; let str = ""; if (!joined) { str = printf(api.strings.USER_LEFT, username); } else { str = printf(api.strings.USER_JOINED, username); } const filepath = await api.generateVoice(str, api.announcementEngine, api.announcementVoice); api.queue.add(__dirname + "/sysmsg.wav"); api.queue.add(filepath); }) }