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/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(),