Add load, unload, and update-env from Hermes

This commit is contained in:
Dragon Fire
2024-03-24 16:18:18 -04:00
parent dd12aa7db7
commit 0c7c8abc37
3 changed files with 91 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
const Command = require('../../framework/Command');
const path = require('path');
module.exports = class LoadCommand extends Command {
constructor(client) {
super(client, {
name: 'load',
aliases: ['load-command', 'load-cmd'],
group: 'util',
memberName: 'load',
description: 'Loads a new command.',
details: 'Only the bot owner(s) may use this command.',
ownerOnly: true,
args: [
{
key: 'group',
prompt: 'Which group is the new command in?',
type: 'group'
},
{
key: 'name',
prompt: 'What is the new command\'s name?',
type: 'string',
parse: name => name.toLowerCase()
}
]
});
}
run(msg, { group, name }) {
let Cmd;
try {
Cmd = require(path.join(__dirname, '..', group.id, `${name}.js`));
} catch {
return msg.say('Sorry, I couldn\'t find a command with that name.');
}
const newCommand = new Cmd(this.client);
this.client.registry.registerCommand(newCommand);
this.client.registry.commands.get('cloc').cache = null;
return msg.say(`Loaded the \`${newCommand.name}\` command.`);
}
};
+28
View File
@@ -0,0 +1,28 @@
const Command = require('../../framework/Command');
module.exports = class UnloadCommand extends Command {
constructor(client) {
super(client, {
name: 'unload',
aliases: ['unload-command', 'unload-cmd', 'delete-command', 'delete-cmd'],
group: 'util',
memberName: 'unload',
description: 'Unloads a command.',
details: 'Only the bot owner(s) may use this command.',
ownerOnly: true,
args: [
{
key: 'command',
prompt: 'What is the command\'s name?',
type: 'command'
}
]
});
}
run(msg, { command }) {
this.client.registry.commands.delete(command.name);
this.client.registry.commands.get('cloc').cache = null;
return msg.say(`Unloaded the \`${command.name}\` command.`);
}
};
+21
View File
@@ -0,0 +1,21 @@
const Command = require('../../framework/Command');
const dotenv = require('dotenv');
module.exports = class UpdateEnvCommand extends Command {
constructor(client) {
super(client, {
name: 'update-env',
aliases: ['dotenv', 'update-process-env'],
group: 'util',
memberName: 'update-env',
description: 'Updates the bot\'s environment variables.',
details: 'Only the bot owner(s) may use this command.',
ownerOnly: true
});
}
run(msg) {
dotenv.config();
return msg.say('Updated environment variables.');
}
};