Files
Emmelia-Link-Flayer-Rewrite/middleware/discordAuthorization.js
Logan Cusano 0aa7d3edc0 Improved Discord Auth System
- Used on all commands
- Moved to middleware dir
2023-02-25 04:10:40 -05:00

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);
}
}