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!')
}

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i penguin-handler

    Weekly Downloads

    1

    Version

    2.0.9

    License

    ISC

    Unpacked Size

    5.94 kB

    Total Files

    3

    Last publish

    Collaborators

    • penguinissocool