diff --git a/src/commands/forceunverify.ts b/src/commands/forceunverify.ts index 9afcfc6..f8d85cb 100644 --- a/src/commands/forceunverify.ts +++ b/src/commands/forceunverify.ts @@ -6,27 +6,8 @@ import { } from "discord.js" import { color, devMessage } from "../../config/options.json" import verify = require("../schemas/verifySchema") -import { - gm, - manager, - moderator, - beast, - member, - guildRole, - guildStaff, - defaultMember, -} from "../../config/roles.json" import { Command } from "../interfaces" -const removeThese = [ - gm, - manager, - moderator, - beast, - member, - guildRole, - guildStaff, - defaultMember, -] +import roleManage from "../utils/functions/rolesmanage" export = { name: "forceunverify", @@ -62,10 +43,9 @@ export = { ], }) } - await verify.findOneAndDelete({ userID: member.user.id }) - await member.roles.remove(removeThese) + await member.roles.remove(roleManage("all").rolesToRemove, "User force unverified by " + interaction.user.username) await interaction.reply({ embeds: [ diff --git a/src/commands/forceupdate.ts b/src/commands/forceupdate.ts index f82367d..b40e22c 100644 --- a/src/commands/forceupdate.ts +++ b/src/commands/forceupdate.ts @@ -6,29 +6,9 @@ import { } from "discord.js" import { getGuild, getHeadURL, getIGN } from "../utils/Hypixel" import { hypixelGuildID, color, devMessage } from "../../config/options.json" -import { - gm, - manager, - moderator, - beast, - elite, - member, - guildRole, - guildStaff, - defaultMember, -} from "../../config/roles.json" import verify = require("../schemas/verifySchema") import { Command } from "../interfaces" -const removeThese = [ - gm, - manager, - moderator, - beast, - elite, - member, - guildRole, - guildStaff, -] +import roleManage from "../utils/functions/rolesmanage" export = { name: "forceupdate", @@ -57,8 +37,6 @@ export = { const verifyData = await verify.findOne({ userID: user.user.id }) const embedColor = Number(color.replace("#", "0x")) - const roleManage = user.roles - if (!verifyData) { await interaction.editReply({ embeds: [ @@ -108,12 +86,9 @@ export = { } if (responseGuildID !== hypixelGuildID) { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Force Update)", - ) - } + const roles = roleManage("default") + await user.roles.remove(roles.rolesToRemove, "User was force updated.") + await user.roles.add(roles.rolesToAdd, "User was force updated.") await interaction.editReply({ embeds: [ @@ -134,7 +109,6 @@ export = { }, ], }) - await roleManage.add(defaultMember) return } @@ -144,18 +118,12 @@ export = { member => member.uuid === verifyData.uuid, )!.rank - if (guildRank === "Guild Master") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Force Update)", - ) - } + await user.roles.add(roleManage("default").rolesToAdd, "User was force updated.") - await roleManage.add(guildRole, "User was force updated.") - await roleManage.add(guildStaff, "User was force updated.") - await roleManage.add(gm, "User was force updated.") - await roleManage.add(defaultMember, "User was force updated.") + if (guildRank === "Guild Master") { + const roles = roleManage("gm") + await user.roles.remove(roles.rolesToRemove, "User was force updated.") + await user.roles.add(roles.rolesToAdd, "User was force updated.") await interaction.editReply({ embeds: [ @@ -179,20 +147,13 @@ export = { }, ], }) + return } if (guildRank === "Manager") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Force Update)", - ) - } - - await roleManage.add(guildRole, "User was force updated.") - await roleManage.add(guildStaff, "User was force updated.") - await roleManage.add(manager, "User was force updated.") - await roleManage.add(defaultMember, "User was force updated.") + const roles = roleManage("manager") + await user.roles.remove(roles.rolesToRemove, "User was force updated.") + await user.roles.add(roles.rolesToAdd, "User was force updated.") await interaction.editReply({ embeds: [ @@ -216,20 +177,13 @@ export = { }, ], }) + return } if (guildRank === "Moderator") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Force Update)", - ) - } - - await roleManage.add(guildRole, "User was force updated.") - await roleManage.add(guildStaff, "User was force updated.") - await roleManage.add(moderator, "User was force updated.") - await roleManage.add(defaultMember, "User was force updated.") + const roles = roleManage("moderator") + await user.roles.remove(roles.rolesToRemove, "User was force updated.") + await user.roles.add(roles.rolesToAdd, "User was force updated.") await interaction.editReply({ embeds: [ @@ -253,19 +207,13 @@ export = { }, ], }) + return } if (guildRank === "Beast") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Force Update)", - ) - } - - await roleManage.add(guildRole, "User was force updated.") - await roleManage.add(beast, "User was force updated.") - await roleManage.add(defaultMember, "User was force updated.") + const roles = roleManage("beast") + await user.roles.remove(roles.rolesToRemove, "User was force updated.") + await user.roles.add(roles.rolesToAdd, "User was force updated.") await interaction.editReply({ embeds: [ @@ -293,16 +241,9 @@ export = { } if (guildRank === "Elite") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Force Update)", - ) - } - - await roleManage.add(guildRole, "User was force updated.") - await roleManage.add(elite, "User was force updated.") - await roleManage.add(defaultMember, "User was force updated.") + const roles = roleManage("elite") + await user.roles.remove(roles.rolesToRemove, "User was force updated.") + await user.roles.add(roles.rolesToAdd, "User was force updated.") await interaction.editReply({ embeds: [ @@ -330,16 +271,9 @@ export = { } if (guildRank === "Member") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Force Update)", - ) - } - - await roleManage.add(guildRole, "User was force updated.") - await roleManage.add(member, "User was force updated.") - await roleManage.add(defaultMember, "User was force updated.") + const roles = roleManage("member") + await user.roles.remove(roles.rolesToRemove, "User was force updated.") + await user.roles.add(roles.rolesToAdd, "User was force updated.") await interaction.editReply({ embeds: [ diff --git a/src/commands/forceverify.ts b/src/commands/forceverify.ts index c46b47c..e68c6c1 100644 --- a/src/commands/forceverify.ts +++ b/src/commands/forceverify.ts @@ -7,17 +7,7 @@ import { getUUID, getPlayer, getGuild, getHeadURL } from "../utils/Hypixel" import { color, hypixelGuildID, devMessage } from "../../config/options.json" import verify = require("../schemas/verifySchema") import mongoose from "mongoose" -import { - gm, - manager, - moderator, - beast, - elite, - member, - guildRole, - guildStaff, - defaultMember, -} from "../../config/roles.json" +import roleManage from "../utils/functions/rolesmanage" import { Command } from "../interfaces" export = { @@ -150,88 +140,37 @@ export = { )!.rank if (guildRank === "Guild Master") { - await user.roles.add( - gm, - "User was force verified by " + modName, - ) - await user.roles.add( - guildRole, - "User was force verified by " + modName, - ) - await user.roles.add( - guildStaff, - "User was force verified by " + modName, - ) + const roles = roleManage("gm") + await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName) } if (guildRank === "Manager") { - await user.roles.add( - manager, - "User was force verified by " + modName, - ) - await user.roles.add( - guildRole, - "User was force verified by " + modName, - ) - await user.roles.add( - guildStaff, - "User was force verified by " + modName, - ) + const roles = roleManage("manager") + await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName) } if (guildRank === "Moderator") { - await user.roles.add( - moderator, - "User was force verified by " + modName, - ) - await user.roles.add( - guildRole, - "User was force verified by " + modName, - ) - await user.roles.add( - guildStaff, - "User was force verified by " + modName, - ) + const roles = roleManage("moderator") + await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName) } if (guildRank === "Beast") { - await user.roles.add( - beast, - "User was force verified by " + modName, - ) - await user.roles.add( - guildRole, - "User was force verified by " + modName, - ) + const roles = roleManage("beast") + await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName) } if (guildRank === "Elite") { - await user.roles.add( - elite, - "User was force verified by " + modName, - ) - await user.roles.add( - guildRole, - "User was force verified by " + modName, - ) + const roles = roleManage("elite") + await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName) } if (guildRank === "Member") { - await user.roles.add( - member, - "User was force verified by " + modName, - ) - await user.roles.add( - guildRole, - "User was force verified by " + modName, - ) + const roles = roleManage("member") + await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName) } } - await user.roles.add( - defaultMember, - "User was force verified by " + modName, - ) + await user.roles.add(roleManage("default").rolesToAdd, "User was force verified by " + modName) const newVerify = new verify({ _id: new mongoose.Types.ObjectId(), diff --git a/src/commands/staff/updatediscordroles.ts b/src/commands/staff/updatediscordroles.ts index c7a3296..7869f7b 100644 --- a/src/commands/staff/updatediscordroles.ts +++ b/src/commands/staff/updatediscordroles.ts @@ -1,6 +1,6 @@ import verify = require("../../schemas/verifySchema") import { color, hypixelGuildID } from "../../../config/options.json" -import removeRoles from "../../utils/functions/rolesmanage" +import roleManage from "../../utils/functions/rolesmanage" import { ChatInputCommandInteraction, GuildMember } from "discord.js" import env from "../../utils/Env" import { getGuild } from "../../utils/Hypixel" @@ -73,7 +73,7 @@ export async function updateDiscordRoles( ) if (!memberData) { - const rolesToremove = removeRoles("default").rolesToRemove + const rolesToremove = roleManage("default").rolesToRemove await gmember.member.roles.remove( rolesToremove, "Updating all discord members", @@ -82,7 +82,7 @@ export async function updateDiscordRoles( } if (!guildMemberIDs.includes(memberData?.uuid || "none")) { - const rolesToremove = removeRoles("default").rolesToRemove + const rolesToremove = roleManage("default").rolesToRemove await gmember.member.roles.remove( rolesToremove, "Updating all discord members", @@ -100,7 +100,7 @@ export async function updateDiscordRoles( // await gmember.member.roles.add( gm, "Updating all discord members",) // await gmember.member.roles.add( guildStaff, "Updating all discord members",) // await gmember.member.roles.add( guildRole, "Updating all discord members",) - const rolesmanage = removeRoles("gm") + const rolesmanage = roleManage("gm") gmember.member.roles.remove( rolesmanage.rolesToRemove, "Updating all discord members", @@ -116,7 +116,7 @@ export async function updateDiscordRoles( // await gmember.member.roles.add( manager, "Updating all discord members",) // await gmember.member.roles.add( guildStaff, "Updating all discord members",) // await gmember.member.roles.add( guildRole, "Updating all discord members",) - const rolesmanage = removeRoles("manager") + const rolesmanage = roleManage("manager") gmember.member.roles.remove( rolesmanage.rolesToRemove, "Updating all discord members", @@ -132,7 +132,7 @@ export async function updateDiscordRoles( // await gmember.member.roles.add( moderator, "Updating all discord members",) // await gmember.member.roles.add( guildStaff, "Updating all discord members",) // await gmember.member.roles.add( guildRole, "Updating all discord members",) - const rolesmanage = removeRoles("moderator") + const rolesmanage = roleManage("moderator") gmember.member.roles.remove( rolesmanage.rolesToRemove, "Updating all discord members", @@ -147,7 +147,7 @@ export async function updateDiscordRoles( // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",) // await gmember.member.roles.add( beast, "Updating all discord members",) // await gmember.member.roles.add( guildRole, "Updating all discord members",) - const rolesmanage = removeRoles("beast") + const rolesmanage = roleManage("beast") gmember.member.roles.remove( rolesmanage.rolesToRemove, "Updating all discord members", @@ -162,7 +162,7 @@ export async function updateDiscordRoles( // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",) // await gmember.member.roles.add( elite, "Updating all discord members",) // await gmember.member.roles.add( guildRole, "Updating all discord members",) - const rolesmanage = removeRoles("elite") + const rolesmanage = roleManage("elite") gmember.member.roles.remove( rolesmanage.rolesToRemove, "Updating all discord members", @@ -177,7 +177,7 @@ export async function updateDiscordRoles( // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",) // await gmember.member.roles.add( member, "Updating all discord members",) // await gmember.member.roles.add( guildRole, "Updating all discord members",) - const rolesmanage = removeRoles("member") + const rolesmanage = roleManage("member") gmember.member.roles.remove( rolesmanage.rolesToRemove, "Updating all discord members", diff --git a/src/commands/update.ts b/src/commands/update.ts index ede8e69..4645416 100644 --- a/src/commands/update.ts +++ b/src/commands/update.ts @@ -2,28 +2,8 @@ import { GuildMember, SlashCommandBuilder } from "discord.js" import { getGuild, getIGN, getHeadURL } from "../utils/Hypixel" import verify = require("../schemas/verifySchema") import { color, hypixelGuildID, devMessage } from "../../config/options.json" -import { - gm, - manager, - moderator, - beast, - elite, - member, - guildRole, - guildStaff, - defaultMember, -} from "../../config/roles.json" +import roleManage from "../utils/functions/rolesmanage" import { Command } from "../interfaces" -const removeThese = [ - gm, - manager, - moderator, - beast, - elite, - member, - guildRole, - guildStaff, -] export = { name: "update", @@ -42,7 +22,6 @@ export = { const user = interaction.member as GuildMember const verifyData = await verify.findOne({ userID: user.user.id }) - const roleManage = user.roles const embedColor = Number(color.replace("#", "0x")) if (!verifyData) { @@ -84,14 +63,9 @@ export = { const ign = (await getIGN(verifyData.uuid)) as string const head = await getHeadURL(ign) if (guildID !== hypixelGuildID) { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Update)", - ) - } - - await roleManage.add(defaultMember, "User used the update command") + const roles = roleManage("default") + await user.roles.remove(roles.rolesToRemove, "User used the update command") + await user.roles.add(roles.rolesToAdd, "User used the update command") await interaction.editReply({ embeds: [ @@ -119,21 +93,12 @@ export = { member => member.uuid === verifyData.uuid, )!.rank - if (guildRank === "Guild Master") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Update)", - ) - } + await user.roles.add(roleManage("default").rolesToAdd, "User used the update command") - await roleManage.add(guildRole, "User used the update command") - await roleManage.add(guildStaff, "User used the update command") - await roleManage.add(gm, "User used the update command") - await roleManage.add( - defaultMember, - "User used the update command", - ) + if (guildRank === "Guild Master") { + const roles = roleManage("gm") + await user.roles.remove(roles.rolesToRemove, "User used the update command") + await user.roles.add(roles.rolesToAdd, "User used the update command") await interaction.editReply({ embeds: [ @@ -156,23 +121,13 @@ export = { }, ], }) + return } if (guildRank === "Manager") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Update)", - ) - } - - await roleManage.add(guildRole, "User used the update command") - await roleManage.add(guildStaff, "User used the update command") - await roleManage.add(manager, "User used the update command") - await roleManage.add( - defaultMember, - "User used the update command", - ) + const roles = roleManage("manager") + await user.roles.remove(roles.rolesToRemove, "User used the update command") + await user.roles.add(roles.rolesToAdd, "User used the update command") await interaction.editReply({ embeds: [ @@ -195,23 +150,13 @@ export = { }, ], }) + return } if (guildRank === "Moderator") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Update)", - ) - } - - await roleManage.add(guildRole, "User used the update command") - await roleManage.add(guildStaff, "User used the update command") - await roleManage.add(moderator, "User used the update command") - await roleManage.add( - defaultMember, - "User used the update command", - ) + const roles = roleManage("moderator") + await user.roles.remove(roles.rolesToRemove, "User used the update command") + await user.roles.add(roles.rolesToAdd, "User used the update command") await interaction.editReply({ embeds: [ @@ -234,22 +179,13 @@ export = { }, ], }) + return } if (guildRank === "Beast") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Update)", - ) - } - - await roleManage.add(guildRole, "User used the update command") - await roleManage.add(beast, "User used the update command") - await roleManage.add( - defaultMember, - "User used the update command", - ) + const roles = roleManage("beast") + await user.roles.remove(roles.rolesToRemove, "User used the update command") + await user.roles.add(roles.rolesToAdd, "User used the update command") await interaction.editReply({ embeds: [ @@ -276,19 +212,9 @@ export = { } if (guildRank === "Elite") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Update)", - ) - } - - await roleManage.add(guildRole, "User used the update command") - await roleManage.add(elite, "User used the update command") - await roleManage.add( - defaultMember, - "User used the update command", - ) + const roles = roleManage("elite") + await user.roles.remove(roles.rolesToRemove, "User used the update command") + await user.roles.add(roles.rolesToAdd, "User used the update command") await interaction.editReply({ embeds: [ @@ -315,19 +241,9 @@ export = { } if (guildRank === "Member") { - for (let i = 0; i < removeThese.length; i++) { - await roleManage.remove( - removeThese[i], - "Auto role removal. (Update)", - ) - } - - await roleManage.add(guildRole, "User used the update command") - await roleManage.add(member, "User used the update command") - await roleManage.add( - defaultMember, - "User used the update command", - ) + const roles = roleManage("member") + await user.roles.remove(roles.rolesToRemove, "User used the update command") + await user.roles.add(roles.rolesToAdd, "User used the update command") await interaction.editReply({ embeds: [ diff --git a/src/commands/verify.ts b/src/commands/verify.ts index b3a4e3a..544fac1 100644 --- a/src/commands/verify.ts +++ b/src/commands/verify.ts @@ -2,17 +2,7 @@ import { GuildMember, SlashCommandBuilder } from "discord.js" import { getUUID, getPlayer, getGuild, getHeadURL } from "../utils/Hypixel" import { color, hypixelGuildID, devMessage } from "../../config/options.json" import mongoose from "mongoose" -import { - gm, - manager, - moderator, - beast, - elite, - member, - guildRole, - guildStaff, - defaultMember, -} from "../../config/roles.json" +import roleManage from "../utils/functions/rolesmanage" import { Command } from "../interfaces" import verify = require("../schemas/verifySchema") import { PlayerData } from "../interfaces/Player" @@ -190,41 +180,38 @@ export = { member => member.uuid === player.uuid, )!.rank - if (guildRank === "Guild Master" && guildID === hypixelGuildID) { - await user.roles.add(gm, "Verification") - await user.roles.add(guildRole, "Verification") - await user.roles.add(guildStaff, "Verification") + if (guildRank === "Guild Master") { + const roles = roleManage("gm") + await user.roles.add(roles.rolesToAdd, "Verification") } - if (guildRank === "Manager" && guildID === hypixelGuildID) { - await user.roles.add(manager, "Verification") - await user.roles.add(guildRole, "Verification") - await user.roles.add(guildStaff, "Verification") + if (guildRank === "Manager") { + const roles = roleManage("manager") + await user.roles.add(roles.rolesToAdd, "Verification") } - if (guildRank === "Moderator" && guildID === hypixelGuildID) { - await user.roles.add(moderator, "Verification") - await user.roles.add(guildRole, "Verification") - await user.roles.add(guildStaff, "Verification") + if (guildRank === "Moderator") { + const roles = roleManage("moderator") + await user.roles.add(roles.rolesToAdd, "Verification") } - if (guildRank === "Beast" && guildID === hypixelGuildID) { - await user.roles.add(beast, "Verification") - await user.roles.add(guildRole, "Verification") + if (guildRank === "Beast") { + const roles = roleManage("beast") + await user.roles.add(roles.rolesToAdd, "Verification") } - if (guildRank === "Elite" && guildID === hypixelGuildID) { - await user.roles.add(elite, "Verification") - await user.roles.add(guildRole, "Verification") + if (guildRank === "Elite") { + const roles = roleManage("elite") + await user.roles.add(roles.rolesToAdd, "Verification") } - if (guildRank === "Member" && guildID === hypixelGuildID) { - await user.roles.add(member, "Verification") - await user.roles.add(guildRole, "Verification") + if (guildRank === "Member") { + const roles = roleManage("member") + await user.roles.add(roles.rolesToAdd, "Verification") } } - await user.roles.add(defaultMember, "Verification") + await user.roles.add(roleManage("default").rolesToAdd, "Verification") const newVerify = new verify({ _id: new mongoose.Types.ObjectId(), diff --git a/src/utils/eventHandlers/autocomplete.ts b/src/utils/eventHandlers/autocomplete.ts index 37e7fb1..211fc38 100644 --- a/src/utils/eventHandlers/autocomplete.ts +++ b/src/utils/eventHandlers/autocomplete.ts @@ -51,22 +51,33 @@ export default function loadAutocompleteEvents(client: Client, ft: FileType) { try { await autocomplete.execute(interaction) } catch (error) { - const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel - if (!channel) { - console.log("No error log channel found.") - } + if (process.env.NODE_ENV !== "dev") { + const channel = client.channels.cache.get( + errorLogChannel, + ) as GuildTextBasedChannel + if (!channel) { + console.log("No error log channel found.") + } - await channel.send({ - embeds: [{ - title: "Autocomplete error occured", - description: String(error), - color: embedColor, - footer: { - icon_url: interaction.guild!.iconURL({ forceStatic: false })!, - text: interaction.user.username + " | " + interaction.commandName - } - }], - }) + await channel.send({ + embeds: [ + { + title: "Autocomplete error occured", + description: String(error), + color: embedColor, + footer: { + icon_url: interaction.guild!.iconURL({ + forceStatic: false, + })!, + text: + interaction.user.username + + " | " + + interaction.commandName, + }, + }, + ], + }) + } console.error(error) } }) diff --git a/src/utils/eventHandlers/button.ts b/src/utils/eventHandlers/button.ts index 54fa0f4..8ca27c9 100644 --- a/src/utils/eventHandlers/button.ts +++ b/src/utils/eventHandlers/button.ts @@ -39,22 +39,33 @@ export default function loadButtonEvents(client: Client, ft: FileType) { try { await button.execute(interaction) } catch (error) { - const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel - if (!channel) { - console.log("No error log channel found.") - } + if (process.env.NODE_ENV !== "dev") { + const channel = client.channels.cache.get( + errorLogChannel, + ) as GuildTextBasedChannel + if (!channel) { + console.log("No error log channel found.") + } - await channel.send({ - embeds: [{ - title: "Button error occured", - description: String(error), - color: embedColor, - footer: { - icon_url: interaction.guild!.iconURL({ forceStatic: false })!, - text: interaction.user.username + " | " + interaction.customId - } - }], - }) + await channel.send({ + embeds: [ + { + title: "Button error occured", + description: String(error), + color: embedColor, + footer: { + icon_url: interaction.guild!.iconURL({ + forceStatic: false, + })!, + text: + interaction.user.username + + " | " + + interaction.customId, + }, + }, + ], + }) + } console.error(error) await interaction.reply({ content: "There was an error while executing this event!", diff --git a/src/utils/eventHandlers/command.ts b/src/utils/eventHandlers/command.ts index 95be3e1..758cbd7 100644 --- a/src/utils/eventHandlers/command.ts +++ b/src/utils/eventHandlers/command.ts @@ -40,24 +40,35 @@ export default function loadSlashCommandsEvents(client: Client, ft: FileType) { try { await command.execute(interaction, client) } catch (error) { - const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel - if (!channel) { - console.log("No error log channel found.") + if (process.env.NODE_ENV !== "dev") { + const channel = client.channels.cache.get( + errorLogChannel, + ) as GuildTextBasedChannel + if (!channel) { + console.log("No error log channel found.") + } + + await channel.send({ + embeds: [ + { + title: "Command error occured", + description: String(error), + color: embedColor, + footer: { + icon_url: interaction.guild!.iconURL({ + forceStatic: false, + })!, + text: + interaction.user.username + + " | " + + interaction.commandName, + }, + }, + ], + }) } - await channel.send({ - embeds: [{ - title: "Command error occured", - description: String(error), - color: embedColor, - footer: { - icon_url: interaction.guild!.iconURL({ forceStatic: false })!, - text: interaction.user.username + " | " + interaction.commandName - } - }], - }) - - console.error(error) + // console.error(error) await interaction.reply({ content: "There was an error while executing this command!", ephemeral: true, diff --git a/src/utils/eventHandlers/contextmenu.ts b/src/utils/eventHandlers/contextmenu.ts index bbbfd07..5c17690 100644 --- a/src/utils/eventHandlers/contextmenu.ts +++ b/src/utils/eventHandlers/contextmenu.ts @@ -47,22 +47,33 @@ export default function loadContextMenuEvents(client: Client, ft: FileType) { try { await command.execute(interaction) } catch (error) { - const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel - if (!channel) { - console.log("No error log channel found.") - } + if (process.env.NODE_ENV !== "dev") { + const channel = client.channels.cache.get( + errorLogChannel, + ) as GuildTextBasedChannel + if (!channel) { + console.log("No error log channel found.") + } - await channel.send({ - embeds: [{ - title: "Contextmenu error occured", - description: String(error), - color: embedColor, - footer: { - icon_url: interaction.guild!.iconURL({ forceStatic: false })!, - text: interaction.user.username + " | " + interaction.commandName - } - }], - }) + await channel.send({ + embeds: [ + { + title: "Contextmenu error occured", + description: String(error), + color: embedColor, + footer: { + icon_url: interaction.guild!.iconURL({ + forceStatic: false, + })!, + text: + interaction.user.username + + " | " + + interaction.commandName, + }, + }, + ], + }) + } console.error(error) await interaction.reply({ content: "There was an error while executing this command!", diff --git a/src/utils/eventHandlers/modal.ts b/src/utils/eventHandlers/modal.ts index 29e1883..4eb5531 100644 --- a/src/utils/eventHandlers/modal.ts +++ b/src/utils/eventHandlers/modal.ts @@ -41,23 +41,34 @@ export default function loadModalEvents(client: Client, ft: FileType) { try { await modal.execute(interaction) } catch (error) { - console.error(error) - const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel - if (!channel) { - console.log("No error log channel found.") - } + if (process.env.NODE_ENV !== "dev") { + const channel = client.channels.cache.get( + errorLogChannel, + ) as GuildTextBasedChannel + if (!channel) { + console.log("No error log channel found.") + } - await channel.send({ - embeds: [{ - title: "Button error occured", - description: String(error), - color: embedColor, - footer: { - icon_url: interaction.guild!.iconURL({ forceStatic: false })!, - text: interaction.user.username + " | " + interaction.customId - } - }], - }) + await channel.send({ + embeds: [ + { + title: "Button error occured", + description: String(error), + color: embedColor, + footer: { + icon_url: interaction.guild!.iconURL({ + forceStatic: false, + })!, + text: + interaction.user.username + + " | " + + interaction.customId, + }, + }, + ], + }) + } + console.error(error) await interaction.reply({ content: "There was an error while executing this modal!", ephemeral: true, diff --git a/src/utils/functions/rolesmanage.ts b/src/utils/functions/rolesmanage.ts index 9bef906..da14dd5 100644 --- a/src/utils/functions/rolesmanage.ts +++ b/src/utils/functions/rolesmanage.ts @@ -7,6 +7,7 @@ import { member, guildStaff, guildRole, + defaultMember } from "../../../config/roles.json" const roles = [ gm, @@ -27,8 +28,9 @@ type RoleType = | "elite" | "member" | "default" + | "all" -export default function removeRoles(role: RoleType): { +export default function roleManage(role: RoleType): { rolesToRemove: string[] rolesToAdd: string[] } { @@ -84,9 +86,16 @@ export default function removeRoles(role: RoleType): { if (role === "default") { const rolesToRemove = roles - const rolesToAdd: string[] = [] + const rolesToAdd: string[] = [defaultMember] return { rolesToRemove, rolesToAdd } } + if (role === "all") { + const rolesToRemove = roles + rolesToRemove.push(defaultMember) + + return { rolesToRemove, rolesToAdd: [] } + } + return { rolesToRemove: [], rolesToAdd: [] } }