Files
illegitimate-bot/src/commands/staff/removeguildroles.ts
2025-01-12 19:40:20 +01:00

57 lines
1.7 KiB
TypeScript

import { GuildMember } from "discord.js"
import { getVerifies } from "src/drizzle/functions.js"
import { embedColor, hypixelGuildID } from "~/config/options.js"
import { IGuildData, SubCommand } from "~/typings"
import env from "~/utils/Env.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild } from "~/utils/Hypixel.js"
const cmd: SubCommand = async (interaction) => {
await interaction.deferReply()
const discordMember = interaction.member as GuildMember
if (discordMember.user.id !== env.prod.dev) {
await interaction.editReply({
embeds: [{
description: "You do not have permission to use this command.",
color: embedColor
}]
})
return
}
const guildMembers = await interaction.guild!.members.fetch().then(
members =>
members.map(member => {
return {
id: member.id,
member: member
}
})
)
const guildData = (await getGuild(hypixelGuildID, "id")) as IGuildData
const hypixelGuildMembers = guildData.members.map(gmember => gmember.uuid)
const verifiedUsers = await getVerifies()
for (const gmember of guildMembers) {
const gmemberuuid = verifiedUsers.find(user => user.userID === gmember.id)?.uuid
const roles = roleManage("default")
if (!gmemberuuid) {
await gmember.member.roles.remove(roles.rolesToRemove)
continue
}
if (!hypixelGuildMembers.includes(gmemberuuid)) {
await gmember.member.roles.remove(roles.rolesToRemove)
continue
}
}
}
export default cmd