Very simple but very useful command handler.
To install the node-module
npm install commandhandler.js
Code:
letch=new(require('commandhandler.js'))();.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 pathExample (with a Discord.js)
Main File:
letch=new(require('commandhandler.js'))();letDiscord=require('discord.js');letclient=newDiscord.Client();letprefix="+";client.on('ready',()=>console.log('Bot Ready'));client.on('message',(message)=>{if(message.author.bot)return;if(!message.content.startsWith(prefix))return;constargs=message.content.slice().trim().split(/+/g);letcmd=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";Main File:
letch=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:
letfs=require('fs');exports.run=(path,data)=>{fs.writeFileSync(path,data+'\n',{flag: 'a'});letfile=fs.readFileSync(path).toString();if(!file)file=data;returnfile;};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