Updated updatzeall members command

This commit is contained in:
2023-12-31 10:45:12 +01:00
parent fa854c0661
commit 33eed60f98

View File

@@ -21,6 +21,7 @@ const removeThese = [
guildRole, guildRole,
guildStaff, guildStaff,
] ]
import removeRoles from "../../utils/functions/rolesmanage"
import { ChatInputCommandInteraction, GuildMember } from "discord.js" import { ChatInputCommandInteraction, GuildMember } from "discord.js"
import env from "../../utils/Env" import env from "../../utils/Env"
import { getGuild } from "../../utils/Hypixel" import { getGuild } from "../../utils/Hypixel"
@@ -31,7 +32,7 @@ export async function updateDiscordRoles(
): Promise<void> { ): Promise<void> {
const discordMember = interaction.member as GuildMember const discordMember = interaction.member as GuildMember
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
await interaction.deferReply({ ephemeral: true }) await interaction.deferReply()
if (discordMember.user.id !== env.prod.dev) { if (discordMember.user.id !== env.prod.dev) {
await interaction.editReply({ await interaction.editReply({
@@ -66,6 +67,14 @@ export async function updateDiscordRoles(
}) })
const guildMemberIDs = hypixelGuildMembers.map(gmember => gmember.uuid) 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({ await interaction.editReply({
embeds: [ embeds: [
{ {
@@ -76,21 +85,17 @@ export async function updateDiscordRoles(
}) })
for (const gmember of guildMembers) { for (const gmember of guildMembers) {
const memberData = await verify.findOne({ userID: gmember.id }) const memberData = verifiedUsers.find(user => user.userID === gmember.id)
if (!memberData) { if (!memberData) {
await gmember.member.roles.remove( const rolesToremove = removeRoles("default").rolesToRemove
removeThese, await gmember.member.roles.remove(rolesToremove, "Updating all discord members",)
"Updating all discord members",
)
continue continue
} }
if (!guildMemberIDs.includes(memberData?.uuid || "none")) { if (!guildMemberIDs.includes(memberData?.uuid || "none")) {
await gmember.member.roles.remove( const rolesToremove = removeRoles("default").rolesToRemove
removeThese, await gmember.member.roles.remove(rolesToremove , "Updating all discord members",)
"Updating all discord members",
)
continue continue
} else if (guildMemberIDs.includes(memberData!.uuid)) { } else if (guildMemberIDs.includes(memberData!.uuid)) {
const guildMemberRank = hypixelGuildMembers.find( const guildMemberRank = hypixelGuildMembers.find(
@@ -99,106 +104,69 @@ export async function updateDiscordRoles(
console.log("Updating roles for " + gmember.member.user.username) console.log("Updating roles for " + gmember.member.user.username)
if (guildMemberRank === "Guild Master") { if (guildMemberRank === "Guild Master") {
await gmember.member.roles.remove( // const rolesToRemove = removeThese.filter(role => role !== gm && role !== guildStaff && role !== guildRole)
removeThese, // await gmember.member.roles.remove(rolesToRemove, "Updating all discord members")
"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( // await gmember.member.roles.add( guildRole, "Updating all discord members",)
gm, const rolesmanage = removeRoles("gm")
"Updating all discord members", gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",)
) gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",)
await gmember.member.roles.add(
guildStaff,
"Updating all discord members",
)
await gmember.member.roles.add(
guildRole,
"Updating all discord members",
)
continue continue
} else if (guildMemberRank === "Manager") { } else if (guildMemberRank === "Manager") {
await gmember.member.roles.remove( // const rolesToRemove = removeThese.filter(role => role !== manager && role !== guildStaff && role !== guildRole)
removeThese, // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
"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( // await gmember.member.roles.add( guildRole, "Updating all discord members",)
manager, const rolesmanage = removeRoles("manager")
"Updating all discord members", gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",)
) gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",)
await gmember.member.roles.add(
guildStaff,
"Updating all discord members",
)
await gmember.member.roles.add(
guildRole,
"Updating all discord members",
)
continue continue
} else if (guildMemberRank === "Moderator") { } else if (guildMemberRank === "Moderator") {
await gmember.member.roles.remove( // const rolesToRemove = removeThese.filter(role => role !== moderator && role !== guildStaff && role !== guildRole)
removeThese, // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
"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( // await gmember.member.roles.add( guildRole, "Updating all discord members",)
moderator, const rolesmanage = removeRoles("moderator")
"Updating all discord members", gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",)
) gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",)
await gmember.member.roles.add(
guildStaff,
"Updating all discord members",
)
await gmember.member.roles.add(
guildRole,
"Updating all discord members",
)
continue continue
} else if (guildMemberRank === "Beast") { } else if (guildMemberRank === "Beast") {
await gmember.member.roles.remove( // const rolesToRemove = removeThese.filter(role => role !== beast && role !== guildRole)
removeThese, // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
"Updating all discord members", // await gmember.member.roles.add( beast, "Updating all discord members",)
) // await gmember.member.roles.add( guildRole, "Updating all discord members",)
await gmember.member.roles.add( const rolesmanage = removeRoles("beast")
beast, gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",)
"Updating all discord members", gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",)
)
await gmember.member.roles.add(
guildRole,
"Updating all discord members",
)
continue continue
} else if (guildMemberRank === "Elite") { } else if (guildMemberRank === "Elite") {
await gmember.member.roles.remove( // const rolesToRemove = removeThese.filter(role => role !== elite && role !== guildRole)
removeThese, // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
"Updating all discord members", // await gmember.member.roles.add( elite, "Updating all discord members",)
) // await gmember.member.roles.add( guildRole, "Updating all discord members",)
await gmember.member.roles.add( const rolesmanage = removeRoles("elite")
elite, gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",)
"Updating all discord members", gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",)
)
await gmember.member.roles.add(
guildRole,
"Updating all discord members",
)
continue continue
} else if (guildMemberRank === "Member") { } else if (guildMemberRank === "Member") {
await gmember.member.roles.remove( // const rolesToRemove = removeThese.filter(role => role !== member && role !== guildRole)
removeThese, // await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
"Updating all discord members", // await gmember.member.roles.add( member, "Updating all discord members",)
) // await gmember.member.roles.add( guildRole, "Updating all discord members",)
await gmember.member.roles.add( const rolesmanage = removeRoles("member")
member, gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members",)
"Updating all discord members", gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members",)
)
await gmember.member.roles.add(
guildRole,
"Updating all discord members",
)
continue continue
} }
continue continue
} }
} }
console.log("Successfully updated all roles.")
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [
{ {