Ginko
Ginko es un Framework que usa discord.js para facilitar la creacion de Bots
Servidor de ayuda Aqui
Aqui
Tutoriales de como usar cada cosaAlgunas 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