discord-ginko

Un simple Framework para crear Bots de discord en Javascirpt usando discord.js


Keywords
Discord, Bot, Framework, discord-js, espanol, javascript-framework
License
MIT
Install
npm install discord-ginko@1.9.1

Documentation

Ginko

Ginko es un Framework que usa discord.js para facilitar la creacion de Bots

Servidor de ayuda Aqui

Tutoriales de como usar cada cosa Aqui

Algunas de sus funciones:

  • Comandos en carpetas y sub carpetas (categorias)
  • Eventos en Carpeta
  • Estructura simple
  • Poder recargar cualquier comando cuando quieras
  • Utilidades faciles
  • Prefijo estatico y personalizado
  • Codigo abierto
  • Cooldown
  • Más por venir ...

Inicio Rápido

Intala discord-ginko

npm i discord-ginko

Crea un archivo principal para añadir las opciones
const { GinkoClient } = require('discord-ginko')

const client = new GinkoClient({
    ownerID: "owner-id", // --> Probablemente tu ID
    carpetaComandos: "./comandos", // --> Ruta a la carpeta principal de los comandos (No opcional)
    carpetaEventos: "./eventos", // --> Ruta a la carpeta de los eventos (opcional)
    prefijo: "!" // --> El prefijo para los comandos

    /*
    EN el caso de arriba el prefijo es estatico, si quiero uno personalizado lo puedo transormar
    en una funcion, la cual de parametro unico lleva un objeto message
    EJ

    prefijo: async (message) => {
        let p = await (aqui buscamos en una db por ejemplo un prefijo)
        return p
    }

    Siempre hay que devolver un valor

    */

})
client.login("Algun-Token")
Crea un comando básico

Por ejemplo, esto puede estar en ./comandos/utilidad

const { Comando } = require('discord-ginko')

module.exports = new Comando ({
    nombre: "ping",
    descripcion: "Un comando basico",
    categoria: "Utilidad",
    uso: "!ping",

    // Aqui abajo utilidad para el comando

    alias: ["p", "pong"], // <-- por defecto es falso, no es necesario ponerlo , se pueden poner todos los que quieran, no se pueden repetir
    soloOwner: false, // <-- por defecto es falso, no es necesario ponerlo
    cooldown: [true , 20000, "Tienes que esperar 20 segundos"], // <--  Por defecto es falso, no es necesario ponerlo, pero si se hace, se tiene que hacer un array con un true, el tiempo y **si quieres** el mensaje que se manda si tiene el cooldown activo (puede ser embed), si al array se le pone false, es lo mismo que no tenerlo (pero asi se puede editar facilmente)
    permisoRequerido: {
      permisos: ['ADMINISTRATOR'],
      respuesta: 'Gay xdxdxdxd'
    }, // Un objeto, el cual tendrá los permisos en un array (obligatorios) y una respuesta que puede ser un embed
    
    run: (client, message , args) => {
        message.channel.send("Pong!")
    }
})
Creando un evento

No puede haber sub carpetas en los eventos, si hay, Ginko las va a ignorar.

const { Evento } = require('discord-ginko')

module.exports = new Evento ({
    evento: "message", // --> El nombre del evento, otro ejemplo: guildMemberAdd
    run: message => { 
    
    console.log('Nuevo mensaje ' + message.content)
        
    }
})

Util

Toda la información de los comandos (uso, categoria, etc) en client.commandUtil

Para poder recargar algun comando se usa client.recargarComando('nombre') El nombre tiene que ser el nombre por el cual el archivo esta guardado, solo el nombre, ni la extencion (.js) ni la carpeta en donde se encuentra. **

client.util.obetenerUsuario: Busca un objeto usuario dándole como parámetros una id , nombre o un string tag

client.util.obetenerMiembro: Busca un objeto miembro dándole como parámetros un servidor y una id , nombre o un string tag

client.util.pedirRespuesta: Un awaitMessages simplificado, toma como parámetros obligatorios un canal, usuario, tiempo, de espera y dos arrays de respuesta, el primero es respuesta positiva y segundo negativa (si acepeta o no)

** Si usas algun servicio de VPS restringido como puede ser Glitch.com, es probable que la recarga de comandos no funcione

Para Hacer:

  • Añadir más Utilidad
  • Argumentos pre hechos

Licencia

MIT