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,
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<void> {
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: [
{