Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/iepog/commandhandler

Very simple but very useful command handler.
https://github.com/iepog/commandhandler

command command-handler command-handlers discord-js discord-js-example discordjs epog file-handler file-handling filehandle filehandler filehandling filesystem iepog javascript node-js node-module nodejs nodejs-example

Last synced: 10 days ago
JSON representation

Very simple but very useful command handler.

Awesome Lists containing this project

README

        

# commandhandler
Very simple but very useful command handler.

Installation

To install the node-module

``
npm install commandhandler.js
``

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

Methods

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

Example (with a Discord.js)

``Main File:``

```js
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``

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

}

exports.name= "say";
```

Example 2

``Main File:``

~~~ js
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:``

~~~ 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