Después de ejecutar este script no hay errores, pero de alguna manera cuando trato de usar cualquiera de los argumentos como play no sucede nada. No recibo ningún error. El script simplemente inicia sesión en el bot de Discord y no sucede nada, excepto la última línea en la que el script proporciona información sobre el inicio de sesión adecuado.
const { Client, Intents, Attachment} = require('discord.js'); const client = new Client({ intents: [Intents.FLAGS.GUILDS] }); const PREFIX = '!'; const ytdl = require("ytdl-core"); var servers = {}; client.on('message', message => { let args = message.content.substring(PREFIX.length).split(" "); switch (args[0]) { case 'play': function play(connection, message){ var server = servers[message.guild.id]; server.dispatcher = connection.playStream(ytdl(server.queue[0], {filter: "audioonly"})); server.queue.shift(); server.dispatcher.on("end", function(){ if(server.queue[0]){ play(connection, message); }else { connection.disconnect(); } }); } if(!args[1]){ message.channel.send("give a link"); return; } if(!message.member.voiceChannel){ message.channel.send("you must be on voice chat to play music"); return; } if(!servers[message.guild.id]) servers[message.guild.id] = { queue: [] } var server = servers = [message.guild.id]; server.queue.push(args[1]); if(!message.guild.voiceConnection) message.member.voiceChannel.join().then(function(connection){ play(connection, message); }) break; case "ping": message.channel.send("pong"); console.log("pong"); break; } }); client.login(token); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); });