Skip to content

iEpog/commandhandler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

commandhandler

Very simple but very useful command handler.

Installation

To install the node-module

npm install commandhandler.js

Code:

let ch = new (require('commandhandler.js'))();

Methods

  • .init(path, extension)
//Gets all commands on specified path then initialize all files if file extension correct 
  • .has(commandName)
//Checks if command exist. If Exist: returns command. If not Exits returns false
  • .get()
// Returns all initialized files
  • .files
// Returns all initialized files
  • .path
// Returns folder path

Example (with a Discord.js)

Main File:

let ch = new (require('commandhandler.js'))();

let Discord= require('discord.js');
let client = new Discord.Client();

let prefix = "+";

client.on('ready',()=>console.log('Bot Ready'));


client.on('message', (message) => {
   if(message.author.bot) return;
   if (!message.content.startsWith(prefix)) return;
   const args = message.content.slice().trim().split(/ +/g);
   let cmd = ch.has(args.shift().slice(prefix.length).toLowerCase());
   if (cmd) cmd(client, message, args);
});

client.login("YOUR BOT TOKEN");

ch.init(__dirname+'/commands/','.js');

./commands/say.js

exports.run = (client,message,args) => {
    message.channel.send('['+message.author.tag+ ']: ' +args.join(' '));

}

exports.name= "say"; 

Example 2

Main File:

let ch = new (require('commandhandler.js'))();

ch.on('ready',()=>{

   console.log('Command handler are initialized');
   
     console.log('All Files: ',ch.files,'Running "log.js" ');
     ch.files.log('./log.txt', '['+Date.now()+'] Test Function Working!');
     
});


ch.init(__dirname+'/commands/','.js');

./commands/log.js:

let fs =require('fs');

exports.run = (path,data) => {

    fs.writeFileSync(path, data+'\n', { flag: 'a' });
    
    let file =fs.readFileSync(path).toString();
    
    if(!file) file= data;
    
    return file;
};

exports.name= "log";

Then look at the log.txt file:

[1634320812437] Test Function Working!
[1634320817816] Test Function Working!
[1634320819018] Test Function Working!
[1634320819813] Test Function Working!

It works