Improved Discord Auth System

- Used on all commands
- Moved to middleware dir
This commit is contained in:
Logan Cusano
2023-02-25 04:10:40 -05:00
parent 0c3e3a0736
commit 0aa7d3edc0
2 changed files with 23 additions and 16 deletions

View File

@@ -0,0 +1,23 @@
// 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);
}
}

View File

@@ -1,16 +0,0 @@
// To authorize a message sender for admin level commands
const { DebugBuilder } = require("./debugBuilder");
const log = new DebugBuilder("server", "discordAuthorization");
const botAdmins = process.env.BOT_ADMINS;
exports.authorizeCommand = async (interaction, command, next) => {
log.DEBUG(`${interaction.member.user} is attempting to run the privileged command '${command}'`);
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(`Sorry ${interaction.member.tag}, you are not permitted to run that command`);
}
log.DEBUG(`Authorized - ${interaction.member.user} can run '${command}'`);
next(true);
}