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