Pass objects on command.execute

Pass objects instead of using a switch statement.
Now I don't have to restart the bot whenever I add a new command
that needs specific arguments other than 'message'.
This commit is contained in:
SileNce5k 2021-03-09 18:48:46 +01:00
parent 564500869e
commit c51a4fa976
No known key found for this signature in database
GPG key ID: C507260E7F2583AD
11 changed files with 11 additions and 29 deletions

View file

@ -1,7 +1,7 @@
module.exports = { module.exports = {
name: 'example name', name: 'example name',
description: 'example description', description: 'example description',
execute(message) { execute({message}) {
//code //code
} }
}; };

View file

@ -7,7 +7,7 @@ const creationJoinDates = require("../util/creationJoinDates")
module.exports = { module.exports = {
name: 'botinfo', name: 'botinfo',
description: 'Shows information about the bot', description: 'Shows information about the bot',
execute(message, client) { execute({message, client}) {
let createJoin = creationJoinDates(client.user) let createJoin = creationJoinDates(client.user)
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()
.setColor(15780145) .setColor(15780145)

View file

@ -1,7 +1,7 @@
module.exports = { module.exports = {
name: 'e', name: 'e',
description: 'Returns emoji url', description: 'Returns emoji url',
execute(message, args) { execute({message, args}) {
let emoji = args.join(` `); let emoji = args.join(` `);
if (!emoji) { if (!emoji) {

View file

@ -6,7 +6,7 @@ const {prefix} = require('../config.json');
module.exports = { module.exports = {
name: 'help', name: 'help',
description: 'List all available commands.', description: 'List all available commands.',
execute(message, args) { execute({message, args}) {
var commands = " " var commands = " "
const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js')); const commandFiles = fs.readdirSync('./commands').filter(file => file.endsWith('.js'));

View file

@ -3,7 +3,7 @@ const parseMention = require("../util/parseMention.js")
module.exports = { module.exports = {
name: 'pfp', name: 'pfp',
description: 'Returns profile picture', description: 'Returns profile picture',
execute(message, args) { execute({message, args}) {
let info; let info;
if (!args[0]) { if (!args[0]) {
info = message.author.id; info = message.author.id;

View file

@ -4,7 +4,7 @@ module.exports = {
name: 'reload', name: 'reload',
description: 'Reloads modules.', description: 'Reloads modules.',
admin: true, admin: true,
execute(message, client) { execute({message, client}) {
let reloadCommands = require("../util/reloadCommands.js") let reloadCommands = require("../util/reloadCommands.js")
let beforeSize = client.commands.size; let beforeSize = client.commands.size;

View file

@ -1,7 +1,7 @@
module.exports = { module.exports = {
name: 'say', name: 'say',
description: 'Repeats arguments', description: 'Repeats arguments',
execute(message, args) { execute({message, args}) {
if(args.length == 0) if(args.length == 0)
message.channel.send("Can't send empty message"); message.channel.send("Can't send empty message");

View file

@ -3,7 +3,7 @@ const Discord = require('discord.js')
module.exports = { module.exports = {
name: 'serverinfo', name: 'serverinfo',
description: 'Displays information about the server', description: 'Displays information about the server',
execute(message) { execute({message}) {
console.log(message.guild.emojis.cache) console.log(message.guild.emojis.cache)
const embed = new Discord.MessageEmbed() const embed = new Discord.MessageEmbed()

View file

@ -3,7 +3,7 @@ const parseMS = require('parse-ms')
module.exports = { module.exports = {
name: 'uptime', name: 'uptime',
description: 'Returns uptime', description: 'Returns uptime',
execute(message, client) { execute({message, client}) {
let days = ""; let days = "";
let hours = ""; let hours = "";

View file

@ -5,7 +5,7 @@ const creationJoinDates = require("../util/creationJoinDates")
module.exports = { module.exports = {
name: 'userinfo', name: 'userinfo',
description: 'Displays information about the user', description: 'Displays information about the user',
execute(message, args) { execute({message, args}) {
let info; let info;
let nickname = ""; let nickname = "";
if (!args[0]) { if (!args[0]) {

View file

@ -34,25 +34,7 @@ client.on('message', async message => {
if (!message.content.startsWith(prefix)) return; if (!message.content.startsWith(prefix)) return;
try { try {
command.execute({message:message, args:args, client: client})
switch (commandName) {
case "ban":
case "botinfo":
case "reload":
case "uptime":
command.execute(message, client, args);
break;
case "say":
case "e":
case "help":
case "userinfo":
case "katti":
case "pfp":
command.execute(message, args);
break;
default:
command.execute(message)
}
} catch (error) { } catch (error) {
console.log(`${error}\n-------`) console.log(`${error}\n-------`)
} }