npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

wacode

v8.17.0

Published

The most easy way to make a bot.

Downloads

8,092

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