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

Package Sidebar

Install

npm i mechmusic

Weekly Downloads

0

Version

0.0.2

License

GPL-3.0

Unpacked Size

60.5 kB

Total Files

9

Last publish

Collaborators

  • mechslayer