Reproducir canción (PLAY)

Empezamos creando el comando 'play' para reproducir la música mediante nuestro BOT:

Codigo de comando PLAY:



Ahora podemos continuar obteniendo la información de la canción y guardándola en un objeto 'songInfo'. Para eso, utilizamos el npm search para obtener el id del video mediante paramento y ytdl que obtiene la información de una canción mediante enlace de youtube:


Después de guardar la información de la canción, debemos verificar si nuestra constante 'serverQueue' tiene música registrada, lo que significa que la música ya se está reproduciendo. Si es así, solo necesitamos agregar la canción reciente a la cola de nuestro 'serverQueue' existente y enviar un mensaje de verificación. Si no, necesitamos crear una lista de canciones y unirlo al canal de voz para comenzar a reproducir música.



Si no hay una lista de música reproduciendo en el servidor, entonces debemos crear una lista con un conjunto de datos para la cola, el canal entre otros:


Ahora establecemos el conjunto de datos de nuestra cola de música para el servidor.


Luego debemos conectar al canal de voz, guardar los datos de conexión y llamar a nuestra función 'play()' que crearemos después de eso:



Función de reproducción "PLAY"

Ahora que podemos agregar nuestras canciones a nuestra cola y crear un objeto de datos si aún no existe, podemos comenzar a implementar nuestra funcionalidad de reproducción:




Después de eso, comenzaremos a reproducir nuestra canción usando el metodo 'play()' y la URL de nuestra canción. Creamos una transmisión 'dispatcher' y le pasamos la URL de nuestra canción. También agregamos dos eventos que manejan la finalización 'end' y error 'error':



¡Listo!, ahora estamos listos para reproducir una canción con nuestro bot pasandole como argumento en nombre de la canción en el canal de texto. Ejemplo: !play Despacito



Saltar canción "SKIP"

Ahora podemos comenzar a implementar la funcionalidad de saltar (dar siguente) a una canción de la cola. Para eso, solo necesitamos finalizar el 'dispatcher' que creamos en nuestra función 'play()' para que comience la siguiente canción:


Listo, ya hemos creado nuestro comando de saltar música, donde tambien verificamos si el usuario que escribió el comando está en un canal de voz y si hay una canción que omitir:



Detener canción "STOP"

La funcionalidad de detener una canción es casi la misma que saltar/omitir excepto que borramos la cola de canciones, lo que hará que nuestro bot elimine toda la lista y salga del chat de voz:



Volumen de canción "VOLUMEN"

Tambien podemos configurar y administrar el volumen de una canción reproduciendose, el valor puede ser aún mayor que 100% pero siempre lo ideal es ese para que no distorcione la canción:



Pausar canción "PAUSE"

Para pausar una canción en plena reproducción usamos la función 'pause()' de la secuencia de trasmision 'dispatcher':



Reanudar canción "RESUME"

Y para reanudar la canción pausada usamos la función 'resume()' de la secuencia de trasmision 'dispatcher':

Lista de canciones "QUEUE"

Ahora agregamos la funcionalidad de listar las canciones de la cola de un servidor:



¡Genial! ya tienes desarrollado un bot de música básico, si tiene algun problema puede guiarse con el proyecto completo hasta aquí, en Estructura Music BOT o solicitar ayuda en el servidor soporte en discord.