zyteclient is heavily based off a popular command handler named CDCommands, by lead developer Exxxon.
The following is meant to be a personal project.
An annoyingly average discord.js command handler that is very work in progress.
Due to the raging popular demand, I've decided to ship the command in a super nifty way (sound familiar?)
ZyteClient
: Class;zyteClient
: instanceof @extends Discord.Client;zyteclient
: package name
ZyteClient
class is where your initial loading will take place.
require('dotenv').config();
const { Client } = require('discord.js');
const { ZyteClient } = require('zyteclient');
const client = new Client();
client.on('ready', () => {
new ZyteClient(client, { //passing in the client (zyteClient instance) parameter, and options object...
/** both commandsDirectory and eventsDirectory
* can have whatever name you want. If the directory specified
* doesn't exist, it'll create it.
*/
commandsDirectory: 'commands',
eventsDirectory: 'events',
ownerId: [' '],
prefix: '%',
mongoURI: process.env.MONGOURI,
});
console.log(`Logged in as ${client.user.username}`);
});
// .. rest of logging in here
Ideally..
Then require the CommandConstructor
and you have some required/optional properties.
//top of ping.js
const { CommandConstructor } = require('zyteclient');
module.exports = new CommandConstructor({
name: 'ping',
aliases: ['pong'], // optional
description: 'Ping the pong.',
leastArgs: 0,
mostArgs: Infinity,
ownerOnly: false, // optional
category: 'fun',
init: (client) => {
client.writeOnInfo = ({ result: `${client.user.tag} was loaded.` });
},
run: async (message, args, client) => {
message.reply('Pong.');
};
});
The three parameters that each command can take are:
message
: Messageargs
: Command arguments after your typical split/slice/join [0]client
:instanceof @extends Client
(discord.js)
npm i zyteclient
ISC