From c71386c18bcf8c79e5d2476347ede9a28f69bb34 Mon Sep 17 00:00:00 2001 From: Taken Date: Mon, 19 Feb 2024 10:52:34 +0100 Subject: [PATCH] Added nickname updating to commands --- src/commands-contextmenu/updateuser.ts | 20 +++++- src/commands/forceunverify.ts | 3 + src/commands/forceupdate.ts | 20 +++++- src/commands/forceverify.ts | 3 + src/commands/staff/updateall.ts | 88 +++++++++++++------------- src/commands/update.ts | 20 +++++- src/commands/verify.ts | 3 + src/components/modals/verifyModal.ts | 3 + 8 files changed, 109 insertions(+), 51 deletions(-) diff --git a/src/commands-contextmenu/updateuser.ts b/src/commands-contextmenu/updateuser.ts index afcffb1..47f5895 100644 --- a/src/commands-contextmenu/updateuser.ts +++ b/src/commands-contextmenu/updateuser.ts @@ -69,10 +69,17 @@ export = { 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 user.setNickname(ign, "User was force updated.").catch(() => { + // Do nothing + }) await interaction.editReply({ embeds: [{ - description: usermentioned + " was given the the Default Member role.", + description: ` + ${usermentioned} was given the \`Default Member\` role. + + IGN: \`${ign}\` + `, color: embedColor, thumbnail: { url: head! @@ -135,13 +142,22 @@ export = { replyRank = "Member" } + // FIXME: check if user is on waiting list if (user.roles.cache.has(waitingListRole)) { await user.roles.remove(waitingListRole, "User was force updated.") } + await user.setNickname(ign, "User was force updated.").catch(() => { + // Do nothing + }) + await interaction.editReply({ embeds: [{ - description: usermentioned + " was given the " + replyRank + " role.", + description: ` + ${usermentioned} was given the \`${replyRank}\` role. + + IGN: \`${ign}\` + `, color: embedColor, thumbnail: { url: head! diff --git a/src/commands/forceunverify.ts b/src/commands/forceunverify.ts index 446d884..eef2932 100644 --- a/src/commands/forceunverify.ts +++ b/src/commands/forceunverify.ts @@ -45,6 +45,9 @@ export = { roleManage("all").rolesToRemove, "User force unverified by " + interaction.user.username ) + await member.setNickname(null, "User force unverified by " + interaction.user.username).catch(() => { + // Do nothing + }) await logToChannel("mod", { embeds: [{ diff --git a/src/commands/forceupdate.ts b/src/commands/forceupdate.ts index fccd866..54203b6 100644 --- a/src/commands/forceupdate.ts +++ b/src/commands/forceupdate.ts @@ -75,10 +75,17 @@ export = { 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 user.setNickname(ign, "User was force updated.").catch(() => { + // Do nothing + }) await interaction.editReply({ embeds: [{ - description: usermentioned + " was given the the Default Member role.", + description: ` + ${usermentioned} was given the \`Default Member\` role. + + IGN: \`${ign}\` + `, color: embedColor, thumbnail: { url: head! @@ -141,13 +148,22 @@ export = { replyRank = "Member" } + // FIXME: need to check if user is on waiting list if (user.roles.cache.has(waitingListRole)) { await user.roles.remove(waitingListRole, "User was force updated.") } + await user.setNickname(ign, "User was force updated.").catch(() => { + // Do nothing + }) + await interaction.editReply({ embeds: [{ - description: usermentioned + " was given the the " + replyRank + " role.", + description: ` + ${usermentioned} was given the \`${replyRank}\` role. + + IGN: \`${ign}\` + `, color: embedColor, thumbnail: { url: head! diff --git a/src/commands/forceverify.ts b/src/commands/forceverify.ts index 81490ff..74f0fbf 100644 --- a/src/commands/forceverify.ts +++ b/src/commands/forceverify.ts @@ -155,6 +155,9 @@ export = { } await user.roles.add(roleManage("default").rolesToAdd, "User was force verified by " + modName) + await user.setNickname(player.displayname!, "User was force verified by " + modName).catch(() => { + // Do nothing + }) const newVerify = new verify({ _id: new mongoose.Types.ObjectId(), diff --git a/src/commands/staff/updateall.ts b/src/commands/staff/updateall.ts index b531df6..6d5fbc5 100644 --- a/src/commands/staff/updateall.ts +++ b/src/commands/staff/updateall.ts @@ -5,7 +5,7 @@ import { verifyTick } from "config/roles" import roleManage from "utils/functions/rolesmanage" import { ChatInputCommandInteraction, GuildMember } from "discord.js" import env from "utils/Env" -import { getGuild } from "utils/Hypixel" +import { getGuild, getIGN } from "utils/Hypixel" import { IGuildData } from "interfaces" export default async function updateAll(interaction: ChatInputCommandInteraction): Promise { @@ -70,52 +70,50 @@ export default async function updateAll(interaction: ChatInputCommandInteraction if (!memberData) { const rolesToremove = roleManage("default").rolesToRemove await gmember.member.roles.remove(rolesToremove, "Updating all discord members") - continue } else { - await gmember.member.roles.add(verifyTick, "Updating all discord members") - console.log(color(" Added verified tick to " + gmember.member.user.username, "lavender")) - } - - if (!guildMemberIDs.includes(memberData?.uuid || "none")) { - const rolesToremove = roleManage("default").rolesToRemove - await gmember.member.roles.remove(rolesToremove, "Updating all discord members") - continue - } else if (guildMemberIDs.includes(memberData!.uuid)) { - const guildMemberRank = hypixelGuildMembers.find(gmember => gmember.uuid === memberData!.uuid)!.rank - console.log(color(" Updating roles for " + gmember.member.user.username, "lavender")) - - if (guildMemberRank === "Guild Master") { - const rolesmanage = roleManage("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") { - const rolesmanage = roleManage("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") { - const rolesmanage = roleManage("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") { - const rolesmanage = roleManage("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") { - const rolesmanage = roleManage("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") { - const rolesmanage = roleManage("member") - gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members") - gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members") - continue + const uuid = memberData.uuid + const ign = await getIGN(uuid) + if (!gmember.member.roles.cache.has(verifyTick)) { + await gmember.member.roles.add(verifyTick, "Updating all discord members") + console.log(color(" Added verified tick to " + gmember.member.user.username, "lavender")) } - continue + + if (!guildMemberIDs.includes(memberData?.uuid || "none")) { + const rolesToremove = roleManage("default").rolesToRemove + await gmember.member.roles.remove(rolesToremove, "Updating all discord members") + } else if (guildMemberIDs.includes(memberData!.uuid)) { + const guildMemberRank = hypixelGuildMembers.find(gmember => gmember.uuid === memberData!.uuid)!.rank + console.log(color(" Updating roles for " + gmember.member.user.username, "lavender")) + + if (guildMemberRank === "Guild Master") { + const rolesmanage = roleManage("gm") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members") + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members") + } else if (guildMemberRank === "Manager") { + const rolesmanage = roleManage("manager") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members") + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members") + } else if (guildMemberRank === "Moderator") { + const rolesmanage = roleManage("moderator") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members") + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members") + } else if (guildMemberRank === "Beast") { + const rolesmanage = roleManage("beast") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members") + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members") + } else if (guildMemberRank === "Elite") { + const rolesmanage = roleManage("elite") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members") + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members") + } else if (guildMemberRank === "Member") { + const rolesmanage = roleManage("member") + gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members") + gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members") + } + } + await gmember.member.setNickname(ign, "Updating all discord members").catch(() => { + // Do nothing + }) } } diff --git a/src/commands/update.ts b/src/commands/update.ts index b3bfa13..a8c59d2 100644 --- a/src/commands/update.ts +++ b/src/commands/update.ts @@ -58,10 +58,17 @@ export = { 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 user.setNickname(ign, "User used the update command").catch(() => { + // Do nothing + }) await interaction.editReply({ embeds: [{ - description: "Updated your roles to `Default Member`", + description: ` + Updated your roles to \`Default Member\` + + IGN: \`${ign}\` + `, color: embedColor, thumbnail: { url: head! @@ -124,13 +131,22 @@ export = { replyRank = "Member" } + // FIXME: need to check if user is on waiting list if (user.roles.cache.has(waitingListRole)) { await user.roles.remove(waitingListRole, "User used the update command") } + await user.setNickname(ign, "Verification").catch(() => { + // Do nothing + }) + await interaction.editReply({ embeds: [{ - description: "Updated your roles to `" + replyRank + "`", + description: ` + Updated your roles to \`${replyRank}\` + + IGN: \`${ign}\` + `, color: embedColor, thumbnail: { url: head! diff --git a/src/commands/verify.ts b/src/commands/verify.ts index 7256747..dd76538 100644 --- a/src/commands/verify.ts +++ b/src/commands/verify.ts @@ -174,6 +174,9 @@ export = { } await user.roles.add(roleManage("default").rolesToAdd, "Verification") + await user.setNickname(player.displayname!, "Verification").catch(() => { + // Do nothing + }) const newVerify = new verify({ _id: new mongoose.Types.ObjectId(), diff --git a/src/components/modals/verifyModal.ts b/src/components/modals/verifyModal.ts index 4526a5f..974741a 100644 --- a/src/components/modals/verifyModal.ts +++ b/src/components/modals/verifyModal.ts @@ -120,6 +120,9 @@ export = { } await user.roles.add(defaultMember, "Verification") + await user.setNickname(player.displayname!, "Verification").catch(() => { + // Do nothing + }) const newVerify = new verify({ _id: new mongoose.Types.ObjectId(),