const { createAudioResource, createAudioPlayer, joinVoiceChannel, NoSubscriberBehavior, AudioPlayerStatus } = require('@discordjs/voice'); const { Pause } = NoSubscriberBehavior; const { Idle } = AudioPlayerStatus; const { join } = require('path'); module.exports.playAudio = playAudio; module.exports.getConnections = getConnections; async function playAudio(channel, guild, fileName) { const connection = await joinVoiceChannel({ channelId: channel.id, guildId: guild.id, adapterCreator: guild.voiceAdapterCreator }); const player = createAudioPlayer({ behaviors: { noSubscriber: Pause } }); connection.subscribe(player); console.log(join(__dirname, fileName)); player.play(createAudioResource(join(__dirname, fileName))); player.on('error', async () => { console.log("error"); player.stop(); connection.destroy(); }); player.on(Idle, () => { console.log("idle"); player.stop(); connection.destroy(); }); } function getConnections(guildId) { const connection = DiscordVoice.getVoiceConnection(guildId); console.log(connection); }