wacode
v8.17.0
Published
The most easy way to make a bot.
Downloads
35
Readme
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