Have ideas to improve npm?Join in the discussion! ¬Ľ

    penguin-handler

    2.0.9¬†‚Äʬ†Public¬†‚Äʬ†Published

    About

    This npm package is a simple way to use a command handler is discord.js. This package allows for the usage of aliases and sub-folders.

    Installing the Package

    Run the following command in your terminal

    npm i penguin-handler

    Using The Package

    In your index file you may have something like this.

    const Discord = require('discord.js')
    const client = new Discord.Client()
    const token = "Bot Token"
     
    client.on('ready', () =>{
    console.log('I am online!')
    )
     
    client.on('message', msg =>{
        if(msg.content.toLowerCase() == "!ping"){
            msg.reply("Pong")
        }
    })
     
    client.login(token)

    Now, as you can see, having a bunch of commands on your index file can get a bit messy, this is where command handlers come into play. On your index file you are going to add the following

    const Discord = require('discord.js')
    const client = new Discord.Client()
    const token = "Bot Token"
    const { handle, run } = require('penguin-handler') //Require the package so you can use the handler function
    /*
    On the next line I will be calling the handler function with one parameter:
    The parameter is the path to your commands folder, for example if my commands folder is in the same folder as my index.js I would put "./commands".
    */
    client.on('ready', () =>{
        handle('./commands') //This line of code will load all commands in the path specified, including all commands that are in subfolders.
        console.log('I am online!')
    )}
    //Now we have to run the commands when they are called this will be done is a message listener.
    client.on('message', msg =>{
        run('!', client, msg)  //The first agument here will be what you want your prefix to be. The second is your client vairable, and the third is your message variable
    }
     
    client.login(token)

    You can make a new folder and name it whatever (This is where all of your command files will be stored) and in this folder make a new file for each command, in this example i will be showcasing the ping command demonstrated above. Once you have made a new file (In this example my file will be named "ping.js") you are going to set it up exactly how you see it below.

    const Discord = require('discord.js')
    module.exports.help = {
        name: "ping", //Name of the command
        aliases: ['p'] // Any Aliases you want for the command (If you don't want any just ignore this.)
    }
     
    module.exports.run = async (client, msg, args) => {
        //Code for Command (This will be ran once the command is called.)
        msg.reply('Pong!')
    }

    Install

    npm i penguin-handler

    DownloadsWeekly Downloads

    11

    Version

    2.0.9

    License

    ISC

    Unpacked Size

    5.94 kB

    Total Files

    3

    Last publish

    Collaborators

    • avatar