diff --git a/commands/register.js b/commands/register.js index ac01350..c7ee6cd 100644 --- a/commands/register.js +++ b/commands/register.js @@ -1,9 +1,10 @@ const axios = require(`axios`); -const botConfig = require('../botconfig.json'); -const { generateUniqueId } = require('../functions/randomStr'); +const path = require('path'); +const botConfig = require(path.join(__dirname, '../botconfig.json')); +const { generateUniqueId } = require(path.join(__dirname, '../functions/randomStr')); const https = require('https'); -const Invites = require('../models/registerInvite'); -const Embed = require('../functions/embed'); +const Invites = require(path.join(__dirname, '../models/registerInvite')); +const Embed = require(path.join(__dirname, '../functions/embed')); // Create axios instance outside of module.exports const makeRequest = axios.create({ @@ -62,11 +63,11 @@ module.exports = { let memberRoles = message.member.roles; // Set staff role values based on member's roles - if (memberRoles.includes(client.botConfig.roles[0].staff)) staffRoles.is_staff = 1; - if (memberRoles.includes(client.botConfig.roles[0].mod)) staffRoles.is_mod = 1; - if (memberRoles.includes(client.botConfig.roles[0].jrmod)) staffRoles.is_jrmod = 1; - if (memberRoles.includes(client.botConfig.roles[0].uploader)) staffRoles.is_uploader = 1; - if (memberRoles.includes(client.botConfig.roles[0].jruploader)) staffRoles.is_jruploader = 1; + if (memberRoles.includes(botConfig.roles[0].staff)) staffRoles.is_staff = 1; + if (memberRoles.includes(botConfig.roles[0].mod)) staffRoles.is_mod = 1; + if (memberRoles.includes(botConfig.roles[0].jrmod)) staffRoles.is_jrmod = 1; + if (memberRoles.includes(botConfig.roles[0].uploader)) staffRoles.is_uploader = 1; + if (memberRoles.includes(botConfig.roles[0].jruploader)) staffRoles.is_jruploader = 1; const registerInvite = new Invites({ userId: message.author.id, diff --git a/events/messageCreate.js b/events/messageCreate.js index 022139d..8be7bab 100644 --- a/events/messageCreate.js +++ b/events/messageCreate.js @@ -4,7 +4,7 @@ const Collector = require(path.join(__dirname, "../functions/messageCollector")) const EditCollector = require(path.join(__dirname, "../functions/messageEdit")); const CommandDB = require(path.join(__dirname, "../models/commands")); const { isJson } = require(path.join(__dirname, "../functions/randomStr")); -const botConfig = require(path.join(__dirname, "../botConfig.json")); +const botConfig = require(path.join(__dirname, "../botconfig.json")); module.exports = async (client, message) => { // Early return checks @@ -79,15 +79,16 @@ module.exports = async (client, message) => { return message.reply(`${client.translate.get(db.language, "Events.messageCreate.noPerms")}. ${client.translate.get(db.language, "Events.messageCreate.contact")}.`, false).catch(() => { return }); } + // Check if user has required roles - const hasRequiredRole = commandfile.config.roles && message.member.roles && botConfig.roles[0] ? + const hasRequiredRole = commandfile.config.roles && message.member.roles && botConfig.roles && botConfig.roles.length > 0 ? message.member.roles.some(role => { - const requiredRoleIds = commandfile.config.roles.map(roleName => botConfig.roles[0][roleName.toLowerCase()]); - return requiredRoleIds.includes(role); + const roleMappings = botConfig.roles[0]; + return Object.values(roleMappings).includes(role); }) : false; // Command availability check (skip for DMs) - if (!commandfile.config.available && !hasRequiredRole && !botConfig.owners.includes(message.authorId)) { + if (!commandfile.config.available && !hasRequiredRole && !client.botConfig.owners.includes(message.authorId)) { return message.reply({ embeds: [new Embed() .setColor("#FF0000")