wacode v8.17.0
wacode
🛠️
wacode
es una librería de Node.js diseñada para simplificar la creación de bots de Discord mediante una estructura flexible que permite la carga dinámica de comandos (con prefijo y slash) y eventos. Facilita la configuración, adaptándose a las necesidades de cada proyecto de bot en Discord.
🚀 Características
- Carga dinámica de comandos con prefijo y slash: Define los comandos en carpetas separadas y cárgalos automáticamente.
- Carga dinámica de eventos: Maneja eventos de Discord desde un directorio específico.
- Cliente de Discord predeterminado o personalizado: Usa el cliente predeterminado de Discord o uno personalizado.
- Registro automático de comandos slash: Registra automáticamente los comandos slash en Discord.
- Eventos recursivos: Los comandos y eventos se pueden cargar desde subcarpetas y carpetas principales.
- Opcionalidad en el manejo del cliente, comandos y eventos: Elige si quieres utilizar el cliente, comandos o eventos al inicializar el bot.
📦 Instalación
npm install wacode
⚙️ Configuración
Crea un archivo config.js
para gestionar las credenciales del bot y la información del servidor:
module.exports = {
token: 'YOUR_DISCORD_BOT_TOKEN',
clientId: 'YOUR_CLIENT_ID',
guildId: 'YOUR_GUILD_ID'
};
🛠️ Uso
Crea un archivo index.js
para iniciar el bot:
const wa = require('wacode');
const config = require('./config');
// Inicializar el bot con opciones personalizadas
const bot = new wa({
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
Puedes organizar los comandos y eventos en subcarpetas o en la carpeta que definas 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 wa from 'wacode';
const bot = new wa({
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 necesitas ayuda o tienes preguntas, puedes contactarme en Discord: justwatrax.
📜 License
MIT License
Copyright (c) 2024 wacode
Se concede permiso, de forma gratuita, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para utilizar el Software sin restricciones, incluyendo, pero no limitado a, los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar, y/o vender copias del Software, siempre y cuando se incluyan los avisos de copyright anteriores y esta nota de permiso en todas las copias o partes sustanciales del Software.
🚀 Creador:
Watrax
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago