Create a Command
// ping.js
const { Command } = require('aghanim');
module.exports = new Command(
'ping', // command name
{
// options object
category: 'Fun',
help: 'Get Pong!',
args: '',
requirements: [], // Define requirements for this command. See command requirements tutorial
hooks: {
// Add hooks to commnand
prereq: [], // Array of hooks fired before command requirement execution. function(msg, args, client, command)
prerun: [], // Array of hooks fired before command execution. function(msg, args, client, command)
executed: [], // Array of hooks fired after command execution. function(msg, args, client, command)
error: [] // Array of hooks fired if the command has some error. function(msg, args, client, command, error)
},
response: 'Pong!', // String or function(msg, args, client, commnad) that returns a string or EmbedMessageObject
responseDM: 'Pong by DM!' // String or function(msg, args, client, commnad) that returns a string or EmbedMessageObject
},
async function (msg, args, client, command) {
// run function. Only execute if not options.response or options.responseDM
msg.channel.createMessage('Pong by run function!');
}
);
Command execute first of: response
> responseDM
> run
Add your command to your bot
// index.js
// bot defined...
const ping_command = require('./ping.js');
client.addCommmand(ping_command);
const path = require('path');
//You can import the file directly using addCommandFile method
client.addCommandFile(path.join(__dirname, '/ping.js'));
//Or you can import a directory of commands with addCommandDir method
client.addCommandDir(path.join(__dirname + 'path/to/commands'));
Create a Subcommand
// pong.js
const { Command } = require('aghanim');
module.exports = new Command(
'pong',
{
childOf: 'ping', // Upper/Parent command Command. Parent command should be added before the subcommand
category: 'Fun',
help: 'Get Pong!',
args: ''
},
async function (msg, args, client, command) {
return msg.channel.createMessage('Pong!');
}
);
// This command will be fired with `[client.prefix]ping pong`
Command Object
Create a command as object too
module.exports = {
name: 'ping',
category: 'Fun',
help: 'Get Pong!',
args: '',
requirements: [],
hooks : {
prereq : [],
prerun : [],
executed : [],
error: []
},
response: "Pong!",
responseDM: "Pong by DM!",
run: async (msg, args, client, command){
return msg.channel.createMesage('Pong by run function')
}
}