23 lines
1.1 KiB
JavaScript
23 lines
1.1 KiB
JavaScript
// To authorize a message sender for admin level commands
|
|
const { DebugBuilder } = require("../utilities/debugBuilder");
|
|
const log = new DebugBuilder("server", "discordAuthorization");
|
|
|
|
const botAdmins = process.env.BOT_ADMINS;
|
|
|
|
exports.authorizeCommand = async (interaction, command, next) => {
|
|
log.DEBUG("Command is privileged? ", command.isPrivileged)
|
|
|
|
// If the command is not privileged, run the command
|
|
if (!command.isPrivileged) return next(true);
|
|
|
|
log.DEBUG(`${interaction.member.user} is attempting to run the privileged command '${command}'`);
|
|
|
|
// Check to see if the user has the role specified in the config
|
|
if (!interaction.member.roles.cache.has(`${botAdmins}`)) {
|
|
log.DEBUG(`Unauthorized - ${interaction.member.user} does not have the privilege to run '${command}'`);
|
|
return await interaction.reply({ content: `Sorry ${interaction.member.user}, you are not permitted to run that command`, ephemeral: true });
|
|
} else {
|
|
log.DEBUG(`Authorized - ${interaction.member.user} can run '${command}'`);
|
|
return next(true);
|
|
}
|
|
} |