From e989d0067b62fae168750ca9ed002ceb45deed7d Mon Sep 17 00:00:00 2001 From: Taken Date: Mon, 29 Jan 2024 22:04:38 +0100 Subject: [PATCH 1/3] Added new role and updated role manager script --- src/config/roles.json | 3 ++- src/utils/functions/rolesmanage.ts | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/config/roles.json b/src/config/roles.json index b70a84b..1ed3f62 100644 --- a/src/config/roles.json +++ b/src/config/roles.json @@ -12,5 +12,6 @@ "admin": "528549814846095360", "helper": "592371991294771226", "muted": "594355088932339732", - "countingBanned": "1192183486128341072" + "countingBanned": "1192183486128341072", + "verifyTick": "1201624332674273290" } diff --git a/src/utils/functions/rolesmanage.ts b/src/utils/functions/rolesmanage.ts index 72b49dd..8d4029e 100644 --- a/src/utils/functions/rolesmanage.ts +++ b/src/utils/functions/rolesmanage.ts @@ -7,7 +7,8 @@ import { member, guildStaff, guildRole, - defaultMember + defaultMember, + verifyTick } from "config/roles.json" const roles = [ gm, @@ -33,48 +34,49 @@ type RoleType = export default function roleManage(role: RoleType): { rolesToRemove: string[], rolesToAdd: string[] } { if (role === "gm") { const rolesToRemove = roles.filter(role => role !== gm && role !== guildStaff && role !== guildRole) - const rolesToAdd = [gm, guildStaff, guildRole] + const rolesToAdd = [gm, guildStaff, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "manager") { const rolesToRemove = roles.filter(role => role !== manager && role !== guildStaff && role !== guildRole) - const rolesToAdd = [manager, guildStaff, guildRole] + const rolesToAdd = [manager, guildStaff, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "moderator") { const rolesToRemove = roles.filter(role => role !== moderator && role !== guildStaff && role !== guildRole) - const rolesToAdd = [moderator, guildStaff, guildRole] + const rolesToAdd = [moderator, guildStaff, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "beast") { const rolesToRemove = roles.filter(role => role !== beast && role !== guildRole) - const rolesToAdd = [beast, guildRole] + const rolesToAdd = [beast, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "elite") { const rolesToRemove = roles.filter(role => role !== elite && role !== guildRole) - const rolesToAdd = [elite, guildRole] + const rolesToAdd = [elite, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "member") { const rolesToRemove = roles.filter(role => role !== member && role !== guildRole) - const rolesToAdd = [member, guildRole] + const rolesToAdd = [member, guildRole, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "default") { const rolesToRemove = roles - const rolesToAdd = [defaultMember] + const rolesToAdd = [defaultMember, verifyTick] return { rolesToRemove, rolesToAdd } } if (role === "all") { const rolesToRemove = roles + rolesToRemove.push(verifyTick) rolesToRemove.push(defaultMember) return { rolesToRemove, rolesToAdd: [] } From 9f1feabd1bb641fd988fe8fa7d55adce69cfbde2 Mon Sep 17 00:00:00 2001 From: Taken Date: Mon, 29 Jan 2024 22:05:10 +0100 Subject: [PATCH 2/3] Removed dev flag --- src/commands/verify.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/commands/verify.ts b/src/commands/verify.ts index bf1587e..f0fb31e 100644 --- a/src/commands/verify.ts +++ b/src/commands/verify.ts @@ -11,7 +11,7 @@ import { GuildData } from "interfaces" export = { name: "verify", description: "Verify yourself as a member of the server.", - dev: true, + dev: false, public: true, data: new SlashCommandBuilder() From ebf7952e8bbc62a8d9b142ac6ecfaadaaa5639c8 Mon Sep 17 00:00:00 2001 From: Taken Date: Mon, 29 Jan 2024 22:05:25 +0100 Subject: [PATCH 3/3] Updated command --- src/commands/staff/updatediscordroles.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/commands/staff/updatediscordroles.ts b/src/commands/staff/updatediscordroles.ts index d9d4cd7..df698ca 100644 --- a/src/commands/staff/updatediscordroles.ts +++ b/src/commands/staff/updatediscordroles.ts @@ -1,5 +1,7 @@ import verify from "schemas/verifySchema" import { color, hypixelGuildID } from "config/options.json" +import colorLog from "utils/functions/colors" +import { verifyTick } from "config/roles.json" import roleManage from "utils/functions/rolesmanage" import { ChatInputCommandInteraction, GuildMember } from "discord.js" import env from "utils/Env" @@ -58,13 +60,20 @@ export default async function updateDiscordRoles(interaction: ChatInputCommandIn }] }) + let i = 1 for (const gmember of guildMembers) { const memberData = verifiedUsers.find(user => user.userID === gmember.id) + console.log(colorLog("Updating member " + i + " of " + guildMembers.length, "green")) + i++ + 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) + console.log(colorLog(" Added verified tick to " + gmember.member.user.username, "lavender")) } if (!guildMemberIDs.includes(memberData?.uuid || "none")) { @@ -73,7 +82,7 @@ export default async function updateDiscordRoles(interaction: ChatInputCommandIn continue } else if (guildMemberIDs.includes(memberData!.uuid)) { const guildMemberRank = hypixelGuildMembers.find(gmember => gmember.uuid === memberData!.uuid)!.rank - console.log("Updating roles for " + gmember.member.user.username) + console.log(colorLog(" Updating roles for " + gmember.member.user.username, "lavender")) if (guildMemberRank === "Guild Master") { const rolesmanage = roleManage("gm")