naujcode v1.0.0
naujcode
🛠️
naujcode
Esta es una biblioteca de Node.js pensada para facilitar el desarrollo de bots en Discord. Ofrece una estructura modular que permite cargar comandos (tanto con prefijo como slash) y eventos de manera dinámica. Su diseño flexible se adapta fácilmente a los requerimientos específicos de cada proyecto de bot en Discord.
Características
- Comandos dinámicos con prefijo y slash: Organiza los comandos en carpetas y se cargarán automáticamente según el tipo.
- Eventos cargados de manera dinámica: Administra los eventos de Discord desde un directorio específico, de forma automática.
- Cliente de Discord flexible: Utiliza el cliente por defecto de Discord o configura uno personalizado.
- Registro automático de comandos slash: Los comandos slash se registran de manera automática en la plataforma de Discord.
- Eventos y comandos recursivos: Los comandos y eventos pueden ser cargados desde subcarpetas o directorios principales.
- Configuración opcional para cliente, comandos y eventos: Al inicializar el bot, puedes elegir si deseas habilitar el cliente, los comandos o los eventos.
Instalación
npm install naujcode
Configuración
Crea un archivo config.js
para manejar las credenciales del bot y los datos del servidor de manera centralizada.
module.exports = {
token: "YOUR_DISCORD_BOT_TOKEN",
clientId: "YOUR_CLIENT_ID",
guildId: "YOUR_GUILD_ID",
};
Uso
Crea un archivo index.js para poner en marcha el bot.
const nauj = require("naujcode");
const config = require("./config");
// Inicializar el bot con opciones personalizadas
const bot = new nauj({
client: true, // Usa el cliente predeterminado de Discord
commands: "./prefixCommands", // Ruta al directorio de comandos con prefijos
slash: "./slash", // Ruta al directorio de comandos slash
events: "./events", // Ruta al directorio de eventos
message: true, // Mostrar mensaje de "Bot conectado" cuando esté listo
prefix: "!", // Prefijo para comandos con prefijos
});
// Iniciar sesión en Discord
bot.login(config.token, config.clientId, config.guildId);
Opciones de configuración.
Opción | Tipo | Descripción | Valor predeterminado |
---|---|---|---|
client | Booleano o Client de Discord | Si es true , utiliza los clientes de la npm con todos los intents 53608447 . Si es un objeto de Client , utiliza un cliente personalizado. Si es false , no inicializa ningún cliente. | true |
commands | String o Booleano | Ruta al directorio donde están los archivos de comandos con prefijos. Si es false , no carga ningún comando. Se permite la carga de comandos desde subcarpetas. | './commands' |
slash | String o Booleano | Ruta al directorio donde están los archivos de comandos slash. Si es false , no carga ningún comando slash. Se permite la carga de comandos desde subcarpetas. | './slash' |
events | String o Booleano | Ruta al directorio donde están los archivos de eventos. Si es false , no carga ningún evento. Se permite la carga de eventos desde subcarpetas. | './events' |
message | Booleano | Si es true , muestra el mensaje de "Bot conectado" cuando el bot esté listo. Si es false , no muestra el mensaje de conexión. | false |
prefix | String | Prefijo usado para los comandos con prefijos. Si no se especifica, no se utiliza prefijo. | null |
Handlers integrados
Slash Commands, Prefix Commands y Event Handler
Tienes la opción de organizar los comandos y eventos en subcarpetas o en una carpeta principal según lo que determines para cada tipo.
Ejemplo de Slash Commands:
const { SlashCommandBuilder } = require("discord.js");
module.exports = {
data: new SlashCommandBuilder()
.setName("ping")
.setDescription("Responde con Pong!"),
async execute(interaction) {
await interaction.reply("Pong!");
},
};
Ejemplo de Prefix Commands:
module.exports = {
name: "ping",
description: "Responde con Pong!",
execute(message, args) {
message.channel.send("Pong!");
},
};
Ejemplo de Event Handler:
module.exports = {
name: "ready",
once: true,
execute(client) {
console.log(`¡Listo! El bot ha iniciado sesión como ${client.user.tag}`);
},
};
Others
Declaraciones en TS
import nauj from "naujcode";
const bot = new nauj({
slash: "./commands", // Ruta a la carpeta con los comandos slash
commands: "./prefixCommands", // Ruta a la carpeta con los comandos de prefijo
events: "./events", // Ruta a la carpeta con los eventos
message: true, // Para habilitar el mensaje de "bot conectado"
});
bot.login("tu-token", "tu-client-id", "tu-guild-id");
Help
Si requieres asistencia o tienes alguna duda, no dudes en contactarme en Discord: choqlito_.
License
MIT License
Copyright (c) 2024 naujcode
Se autoriza a cualquier persona a acceder y utilizar este software, incluidos sus archivos de documentación relacionados, de manera gratuita. Esto incluye el derecho a realizar copias, modificaciones, fusiones, publicaciones, distribuciones, sublicencias y/o la venta de versiones derivadas del software.
Como condición, se solicita que se mantenga el reconocimiento del autor original y esta licencia en cualquier distribución del software o sus derivados.
Creador:
Choqlito_
8 months ago