Create placeholder for when a command get unloaded

This commit is contained in:
loicbersier 2019-07-22 21:58:08 +02:00
parent 5c92ff719f
commit 66cef61f3e

View file

@ -1,4 +1,5 @@
const { Command } = require('discord-akairo'); const { Command } = require('discord-akairo');
const fs = require('fs');
class unloadCommand extends Command { class unloadCommand extends Command {
constructor() { constructor() {
@ -10,11 +11,15 @@ class unloadCommand extends Command {
{ {
id: 'command', id: 'command',
type: 'string', type: 'string',
match: 'rest' },
{
id: 'noplaceholder',
match: 'flag',
flag: ['--noplaceholder', '-n']
} }
], ],
description: { description: {
content: 'Unload command', content: 'Unload command (use "-n" if you do **not** want a placeholder for this command)',
usage: '[command]', usage: '[command]',
examples: ['ping'] examples: ['ping']
} }
@ -23,6 +28,31 @@ class unloadCommand extends Command {
async exec(message, args) { async exec(message, args) {
this.handler.remove(args.command); this.handler.remove(args.command);
if (!args.noplaceholder) {
fs.writeFile('./unloaded.js', `const { Command } = require('discord-akairo');
class ${args.command}Command extends Command {
constructor() {
super('${args.command}', {
aliases: ['${args.command}'],
description: {
content: 'unloaded command',
usage: '[]',
examples: ['']
}
});
}
async exec(message) {
return message.channel.send('This command is unloaded, please check back later.');
}
}
module.exports = ${args.command}Command;`,() => {
this.handler.load(`${__dirname}/../../unloaded.js`);
});
}
return message.channel.send(`Sucessfully unloaded command ${args.command}`); return message.channel.send(`Sucessfully unloaded command ${args.command}`);
} }
} }