From 33eed60f988ca32b92a0c1fc3e64e01a9cbcc806 Mon Sep 17 00:00:00 2001 From: Taken Date: Sun, 31 Dec 2023 10:45:12 +0100 Subject: [PATCH] Updated updatzeall members command --- src/commands/staff/updatediscordroles.ts | 156 +++++++++-------------- 1 file changed, 62 insertions(+), 94 deletions(-) diff --git a/src/commands/staff/updatediscordroles.ts b/src/commands/staff/updatediscordroles.ts index e3d4a09..c8dbe8e 100644 --- a/src/commands/staff/updatediscordroles.ts +++ b/src/commands/staff/updatediscordroles.ts @@ -21,6 +21,7 @@ const removeThese = [ guildRole, guildStaff, ] +import removeRoles from "../../utils/functions/rolesmanage" import { ChatInputCommandInteraction, GuildMember } from "discord.js" import env from "../../utils/Env" import { getGuild } from "../../utils/Hypixel" @@ -31,7 +32,7 @@ export async function updateDiscordRoles( ): Promise { const discordMember = interaction.member as GuildMember const embedColor = Number(color.replace("#", "0x")) - await interaction.deferReply({ ephemeral: true }) + await interaction.deferReply() if (discordMember.user.id !== env.prod.dev) { await interaction.editReply({ @@ -66,6 +67,14 @@ export async function updateDiscordRoles( }) const guildMemberIDs = hypixelGuildMembers.map(gmember => gmember.uuid) + const allVerifiedUsers = await verify.find({}) as { userID: string, uuid: string }[] + const verifiedUsers = allVerifiedUsers.map(user => { + return { + userID: user.userID, + uuid: user.uuid, + } + }) + await interaction.editReply({ embeds: [ { @@ -76,21 +85,17 @@ export async function updateDiscordRoles( }) for (const gmember of guildMembers) { - const memberData = await verify.findOne({ userID: gmember.id }) + const memberData = verifiedUsers.find(user => user.userID === gmember.id) if (!memberData) { - await gmember.member.roles.remove( - removeThese, - "Updating all discord members", - ) + const rolesToremove = removeRoles("default").rolesToRemove + await gmember.member.roles.remove(rolesToremove, "Updating all discord members",) continue } if (!guildMemberIDs.includes(memberData?.uuid || "none")) { - await gmember.member.roles.remove( - removeThese, - "Updating all discord members", - ) + const rolesToremove = removeRoles("default").rolesToRemove + await gmember.member.roles.remove(rolesToremove , "Updating all discord members",) continue } else if (guildMemberIDs.includes(memberData!.uuid)) { const guildMemberRank = hypixelGuildMembers.find( @@ -99,106 +104,69 @@ export async function updateDiscordRoles( console.log("Updating roles for " + gmember.member.user.username) if (guildMemberRank === "Guild Master") { - await gmember.member.roles.remove( - removeThese, - "Updating all discord members", - ) - 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 rolesToRemove = removeThese.filter(role => role !== gm && role !== guildStaff && role !== guildRole) + // await gmember.member.roles.remove(rolesToRemove, "Updating all discord members") + // 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") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",) + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",) continue } else if (guildMemberRank === "Manager") { - await gmember.member.roles.remove( - removeThese, - "Updating all discord members", - ) - 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 rolesToRemove = removeThese.filter(role => role !== manager && role !== guildStaff && role !== guildRole) + // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",) + // 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") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",) + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",) continue } else if (guildMemberRank === "Moderator") { - await gmember.member.roles.remove( - removeThese, - "Updating all discord members", - ) - 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 rolesToRemove = removeThese.filter(role => role !== moderator && role !== guildStaff && role !== guildRole) + // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",) + // 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") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",) + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",) continue } else if (guildMemberRank === "Beast") { - await gmember.member.roles.remove( - removeThese, - "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 rolesToRemove = removeThese.filter(role => role !== beast && role !== guildRole) + // 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") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",) + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",) continue } else if (guildMemberRank === "Elite") { - await gmember.member.roles.remove( - removeThese, - "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 rolesToRemove = removeThese.filter(role => role !== elite && role !== guildRole) + // 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") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",) + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",) continue } else if (guildMemberRank === "Member") { - await gmember.member.roles.remove( - removeThese, - "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 rolesToRemove = removeThese.filter(role => role !== member && role !== guildRole) + // 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") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",) + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",) continue } continue } } + console.log("Successfully updated all roles.") + await interaction.editReply({ embeds: [ {