Not Preposterously Macho

    mechmusic

    0.0.2 • Public • Published

    mechmusic

    Librería para facilitar la creación de bots de música

    De la gran mayoría se encarga la librería, si deseas cambiar algo específico puedes hacerlo desde node_modules

    Ejemplo usando casi todas las funciones

    const MechMusic = require("mechmusic").MechMusic;
    const discord = require("discord.js");
    require("dotenv").config();
     
    const Client = new discord.Client();
    const mechmusic = new MechMusic(Client, process.env.google, true, false);
     
     
    Client.on("ready", async () => {
        console.log("ready")
    });
     
    Client.on("message", async (message) => {
        let args = message.content.split(" ");
        let comando = args.shift().toLowerCase();
        let cola = mechmusic.conexiones.get(message.guild.id);
        if (comando === "!yt") {
            cola = await mechmusic.Reproducir(message, args[0]);
        } else if (comando === "!lista" && cola) {
            cola.Pendientes(message);
        } else if (comando === "!saltar" && cola) {
            cola.Saltar(message, true);
        } else if (comando === "!pausar" && cola) {
            cola.Pausar();
        } else if (comando === "!reanudar" && cola) {
            cola.Reanudar()
        } else if (comando === "!volumen" && cola) {
            cola.Volumen(args[0]);
        } else if (comando === "!eliminar" && cola) {
            let eliminado = cola.Eliminar(args[0])
            if (eliminado) await message.reply(`Se ha eliminado \`${eliminado.titulo}\` de la cola`);
            else await message.reply("Posición inválida");
        } else if (comando === "!cancion" && cola) {
            await message.reply(`Reproduciendo ${cola.reproduciendo.titulo}`);
        }
    })
    Client.login(process.env.token)

    La variable mechmusic se puede acceder desde el cliente ej: message.client.mechmusic, client.mechmusic, etc...

    La variable cola también se puede acceder desde el servidor ej: message.guild.cola

    MechMusic

    La clase principal de la librería

    • client: El cliente de discord que usará esta instancia
    • key: Clave api de google
    • autodesconectar: Si se desea que al terminar la cola, el bot se desconecte
    • debug: Si se desea mostrar en consola los mensajes de depuración

    [MechMusic].Reproducir(message, fuente, playlist = false)

    El método principal para reproducir música, se encarga de filtrar el tipo de enlace y configurar la cola del bot

    • message: El mensaje con el que se solicitó la canción

    • fuente: El enlace de la canción, playlist o el nombre a buscar

    • playlis: Se usa para indicar que se va a agregar una playlist

    • devuelve: La cola creada o la cola a la que se ha agregado al canción o playlist en forma de promesa

    [MechMusic].Buscar(titulo)

    Sirve para buscar canciones por el título

    • titulo: Título que se quiere buscar

    • devuelve: Un array con los resultados en forma de promesa

    [MechMusic].BuscarListado(message, titulo)

    Sirve para buscar canciones por el título, una vez realizada la búsqueda se creará una lista y el usuario tendrá que elegir la canción que quiere

    • message: El mensaje con el que se buscó la canción

    • titulo: El título de la canción

    • devuelve: La cola en la que se agregó la canción seleccionada en forma de promesa

    [MechMusic].ReproducirUrl(url, conexion)

    Sirve para reproducir una url en una conexión existente (No recomendado usar directamente)

    • url: La url que se quiere reproducir

    • conexion: La conexión de voz

    • devuelve: La conexión en la que se reproducirá la canción en forma de promesa

    [MechMusic].ReproducirPlaylist(message, url)

    Sirve para agregar una playlist a la cola y reproducir la primera canción si no hay nada reproduciendose(En caso de que se quiera filtrar manualmente los enlaces)

    • message: El mensaje con el que se solicitó la playlist

    • url: url de la playlist

    • devuelve: La cola a la que se ha agregado la playlist o void si no se ha podido encontrar

    [MechMusic].ObtenerInfo(url)

    Sirve para obtener información de un video

    • url: url del vídeo

    • devuelve: la información del vídeo en forma de promesa

    [MechMusic].Conectar(canal, message)

    Sirve para iniciar la conexión del bot y configurar la cola del mismo

    • canal: Canal de voz al que conectarse

    • message: El mensaje con el que se solicitó la conexión

    • devuelve: La cola de la conexión

    [Cola].Agregar(url, solicitante)

    Sirve para agregar manualmente una canción a la cola

    • url: url de la canción

    • solicitante: [Member] del servidor que solicitó la canción

    • devuelve: La cola en forma de promesa

    [Cola].AgregarPlaylist(videos, solicitante)

    Sirve para agregar una playlist a la cola

    • videos: Array con los objetos devueltos por mechmusic.Youtube.playlist()

    • solicitante: [Member] del servidor que solicitó la playlist

    • devuelve: La cola en forma de persona

    [Cola].Eliminar(index)

    Elimina la canción de la lista, de la posición indicada (Comienza en 1)

    • index: Posición de la canción en la cola

    • devuelve: La canción eliminada de la cola

    [Cola].Pausar()

    Pausa la reproducción

    [Cola].Reanudar()

    Reanuda la reproducción

    [Cola].Pendientes(message)

    Crea y enviá una lista paginada con las canciones pendientes

    • message: El mensaje con el que se solicitó la lista

    [Cola].Desconectar()

    Desconecta al bot, vacía la cola y destruye los streams

    [Cola].Volumen(volumen)

    Cambia el volumen del bot

    • volumen: volumen al que se quiera cambiar (máximo 10000)

    [Cola].Saltar(message, votacion = true)

    Salta la canción actual, o comienza una votación para saltarla

    • message: El mensaje con el que se solicitó la función

    • votacion: Si se esperará a una votación o se saltará directamente (en caso de solicitarlo la persona que solicitó la canción, se saltará directamente)

    [Cola].Empezar()

    Empieza la reproducción de las cancioens que haya en cola (No usar manualmente)

    [Cola].Shuffle()

    Ordena de manera aleatoria la cola de canciones

    Install

    npm i mechmusic

    DownloadsWeekly Downloads

    3

    Version

    0.0.2

    License

    GPL-3.0

    Unpacked Size

    60.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • mechslayer