1.0.0 • Published 8 months ago

naujcode v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

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ónTipoDescripciónValor predeterminado
clientBooleano o Client de DiscordSi 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
commandsString o BooleanoRuta 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'
slashString o BooleanoRuta 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'
eventsString o BooleanoRuta 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'
messageBooleanoSi es true, muestra el mensaje de "Bot conectado" cuando el bot esté listo. Si es false, no muestra el mensaje de conexión.false
prefixStringPrefijo 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_

1.0.0

8 months ago