• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

215
Vistas
voiceChannel.join() isn't a function node v16 discord.js

I made a bot that plays music. I upgraded to NodeJS v16.6.1 and voiceChannel.join doesn't work anymore. I already tried using const { voiceChannel } = require('@discord.js/voice'); but it just says module not found. Code:

const ytdl = require("ytdl-core");
const ytSearch = require("yt-search");

module.exports = {
    name: 'play',
    description: 'Joins and plays a video from youtube',
    async execute(message, args) {
        const voiceChannel = message.member.voice.channel;
        if (!voiceChannel) return message.channel.send('You need to be in a channel to execute this command');
        const permissions = voiceChannel.permissionsFor(message.client.user);
        if (!permissions.has('CONNECT')) return message.channel.send('You dont have the neccesary permissions');
        if (!permissions.has("SPEAK")) return message.channel.send('You dont have the neccesary permissions');
        if (!args.length) return message.channel.send('Define Video');
        const connection = await voiceChannel.join();
        const videoFinder = async (query) => {
            const videoResult = await ytSearch(query);
            return (videoResult.videos.length > 1) ? videoResult.videos[0] : null;
        }
        const video = await videoFinder(args.join('  '));
        if (video) {
            const stream = ytdl(video.url, {
                filter: 'audioonly'
            });
            connection.play(stream, {
                    seek: 0,
                    volume: 1
                })
                .on('finish', () => {
                    voiceChannel.leave();
                });
            await message.reply(`Now Playing **${video.title}**`)
        } else {
            message.channel.send('No videos found');
        }
    }
}```
almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

As the error says, voiceChannel#join is not, in fact, a function. While it did exist on Discord.js v12, which I assume you were using before updating your Node.js version, note that it is nowhere to be found in the Discord.js v13 documentation on VoiceChannel. Instead, you are to migrate to @discordjs/voice, whose joinVoiceChannel function can be used as a replacement.

almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda