Merge branch 'dev' into 'main'

Dev

See merge request illegitimate/illegitimate-bot!319
This commit is contained in:
2024-12-29 18:10:47 +00:00
12 changed files with 115 additions and 258 deletions

View File

@@ -3,6 +3,7 @@ import { getVerify } from "src/drizzle/functions.js"
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
import { waitingListRole } from "~/config/roles.js"
import { IContextMenu } from "~/interfaces"
import getGuildRank from "~/utils/Functions/guildrank.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild, getHeadURL, getIGN } from "~/utils/Hypixel.js"
@@ -102,55 +103,16 @@ export default {
const guildRank = GuildMembers.find(member => member.uuid === verifyData.uuid)!.rank
let replyRank: string | null = null
const rank = getGuildRank(guildRank)
if (rank) {
await user.roles.remove(rank.rolesToRemove, "User was force updated.")
await user.roles.add(rank.rolesToAdd, "User was force updated.")
replyRank = rank.rank
}
await user.roles.remove(waitingListRole, "User was force updated.")
await user.roles.add(roleManage("default").rolesToAdd, "User was force updated.")
if (guildRank === "Guild Master") {
const roles = roleManage("gm")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Guild Master"
}
if (guildRank === "Manager") {
const roles = roleManage("manager")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Manager"
}
if (guildRank === "Moderator") {
const roles = roleManage("moderator")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Moderator"
}
if (guildRank === "Beast") {
const roles = roleManage("beast")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Beast"
}
if (guildRank === "Elite") {
const roles = roleManage("elite")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Elite"
}
if (guildRank === "Member") {
const roles = roleManage("member")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
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
})

View File

@@ -3,6 +3,7 @@ import { getVerify } from "src/drizzle/functions.js"
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
import { waitingListRole } from "~/config/roles.js"
import { ICommand } from "~/interfaces"
import getGuildRank from "~/utils/Functions/guildrank.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild, getHeadURL, getIGN } from "~/utils/Hypixel.js"
@@ -107,51 +108,15 @@ export default {
const guildRank = GuildMembers.find(member => member.uuid === verifyData.uuid)!.rank
let replyRank: string | null = null
await user.roles.add(roleManage("default").rolesToAdd, "User was force updated.")
if (guildRank === "Guild Master") {
const roles = roleManage("gm")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Guild Master"
}
if (guildRank === "Manager") {
const roles = roleManage("manager")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Manager"
}
if (guildRank === "Moderator") {
const roles = roleManage("moderator")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Moderator"
}
if (guildRank === "Beast") {
const roles = roleManage("beast")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Beast"
}
if (guildRank === "Elite") {
const roles = roleManage("elite")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Elite"
}
if (guildRank === "Member") {
const roles = roleManage("member")
await user.roles.remove(roles.rolesToRemove, "User was force updated.")
await user.roles.add(roles.rolesToAdd, "User was force updated.")
replyRank = "Member"
const rank = getGuildRank(guildRank)
if (rank) {
await user.roles.remove(rank.rolesToRemove, "User was force updated.")
await user.roles.add(rank.rolesToAdd, "User was force updated.")
replyRank = rank.rank
}
await user.roles.remove(waitingListRole, "User was force updated.")
await user.roles.add(roleManage("default").rolesToAdd, "User was force updated.")
await user.setNickname(ign, "User was force updated.").catch(() => {
// Do nothing
})

View File

@@ -2,6 +2,7 @@ import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandB
import { addVerify, getVerify } from "src/drizzle/functions.js"
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
import { ICommand } from "~/interfaces"
import getGuildRank from "~/utils/Functions/guildrank.js"
import logToChannel from "~/utils/Functions/logtochannel.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild, getHeadURL, getPlayer, getUUID } from "~/utils/Hypixel.js"
@@ -102,34 +103,9 @@ export default {
const GuildMembers = guild!.members
const guildRank = GuildMembers.find(member => member.uuid === player.uuid)!.rank
if (guildRank === "Guild Master") {
const roles = roleManage("gm")
await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName)
}
if (guildRank === "Manager") {
const roles = roleManage("manager")
await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName)
}
if (guildRank === "Moderator") {
const roles = roleManage("moderator")
await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName)
}
if (guildRank === "Beast") {
const roles = roleManage("beast")
await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName)
}
if (guildRank === "Elite") {
const roles = roleManage("elite")
await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName)
}
if (guildRank === "Member") {
const roles = roleManage("member")
await user.roles.add(roles.rolesToAdd, "User was force verified by " + modName)
const rank = getGuildRank(guildRank)
if (rank) {
await user.roles.add(rank.rolesToAdd, "User was force verified by " + modName)
}
}

View File

@@ -3,6 +3,7 @@ import { getVerifies } from "src/drizzle/functions.js"
import { embedColor, hypixelGuildID } from "~/config/options.js"
import { IGuildData } from "~/interfaces"
import env from "~/utils/Env.js"
import getGuildRank from "~/utils/Functions/guildrank.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild, getIGN } from "~/utils/Hypixel.js"
import { log } from "~/utils/Logger.js"
@@ -94,30 +95,10 @@ export default async function updateAll(interaction: ChatInputCommandInteraction
const guildMemberRank = hypixelGuildMembers.find(gmember => gmember.uuid === memberData!.uuid)!.rank
log(" Updating roles for " + gmember.member.user.username, "info", { type: "preset", color: "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")
const rank = getGuildRank(guildMemberRank)
if (rank) {
await gmember.member.roles.remove(rank.rolesToRemove, "Updating all discord members")
await gmember.member.roles.add(rank.rolesToAdd, "Updating all discord members")
}
}
await gmember.member.setNickname(ign, "Updating all discord members").catch(() => {

View File

@@ -3,6 +3,7 @@ import { getVerify } from "src/drizzle/functions.js"
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
import { waitingListRole } from "~/config/roles.js"
import { ICommand } from "~/interfaces"
import getGuildRank from "~/utils/Functions/guildrank.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild, getHeadURL, getIGN } from "~/utils/Hypixel.js"
@@ -90,52 +91,15 @@ export default {
const guildRank = GuildMembers.find(member => member.uuid === verifyData.uuid)!.rank
let replyRank: string | null = null
await user.roles.add(roleManage("default").rolesToAdd, "User used the update command")
if (guildRank === "Guild Master") {
const roles = roleManage("gm")
await user.roles.remove(roles.rolesToRemove, "User used the update command")
await user.roles.add(roles.rolesToAdd, "User used the update command")
replyRank = "Guild Master"
}
if (guildRank === "Manager") {
const roles = roleManage("manager")
await user.roles.remove(roles.rolesToRemove, "User used the update command")
await user.roles.add(roles.rolesToAdd, "User used the update command")
replyRank = "Manager"
}
if (guildRank === "Moderator") {
const roles = roleManage("moderator")
await user.roles.remove(roles.rolesToRemove, "User used the update command")
await user.roles.add(roles.rolesToAdd, "User used the update command")
replyRank = "Moderator"
}
if (guildRank === "Beast") {
const roles = roleManage("beast")
await user.roles.remove(roles.rolesToRemove, "User used the update command")
await user.roles.add(roles.rolesToAdd, "User used the update command")
replyRank = "Beast"
}
if (guildRank === "Elite") {
const roles = roleManage("elite")
await user.roles.remove(roles.rolesToRemove, "User used the update command")
await user.roles.add(roles.rolesToAdd, "User used the update command")
replyRank = "Elite"
}
if (guildRank === "Member") {
const roles = roleManage("member")
await user.roles.remove(roles.rolesToRemove, "User used the update command")
await user.roles.add(roles.rolesToAdd, "User used the update command")
replyRank = "Member"
const rank = getGuildRank(guildRank)
if (rank) {
await user.roles.remove(rank.rolesToRemove, "User used the update command")
await user.roles.add(rank.rolesToAdd, "User used the update command")
replyRank = rank.rank
}
await user.roles.remove(waitingListRole, "User used the update command")
await user.roles.add(roleManage("default").rolesToAdd, "User used the update command")
await user.setNickname(ign, "Verification").catch(() => {
// Do nothing
})

View File

@@ -4,6 +4,7 @@ import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
import { ICommand } from "~/interfaces"
import { IPlayerData } from "~/interfaces"
import { IGuildData } from "~/interfaces"
import getGuildRank from "~/utils/Functions/guildrank.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild, getHeadURL, getPlayer, getUUID } from "~/utils/Hypixel.js"
@@ -127,34 +128,9 @@ export default {
const GuildMembers = guild!.members
const guildRank = GuildMembers.find(member => member.uuid === player.uuid)!.rank
if (guildRank === "Guild Master") {
const roles = roleManage("gm")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Manager") {
const roles = roleManage("manager")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Moderator") {
const roles = roleManage("moderator")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Beast") {
const roles = roleManage("beast")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Elite") {
const roles = roleManage("elite")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Member") {
const roles = roleManage("member")
await user.roles.add(roles.rolesToAdd, "Verification")
const rank = getGuildRank(guildRank)
if (rank) {
await user.roles.add(rank.rolesToAdd, "Verification")
}
}

View File

@@ -2,10 +2,10 @@ import { ActionRowBuilder, ButtonBuilder, ButtonStyle, GuildMember, TextChannel
import { ignM, largeM, smallM } from "~/config/limitmessages.js"
import { embedColor, inactivityLogChannel } from "~/config/options.js"
import { inactivity } from "~/config/questions.js"
import { beast, gm, guildRole, guildStaff, manager, member, moderator } from "~/config/roles.js"
import { beast, gm, guildRole, guildStaff, leader, member, staff } from "~/config/roles.js"
import { IButton } from "~/interfaces"
import applicationQuestions from "~/utils/Functions/applicationquestions.js"
const guildRoles = [gm, manager, moderator, beast, member, guildStaff, guildRole]
const guildRoles = [gm, leader, staff, beast, member, guildStaff, guildRole]
export default {
name: "guildinactivitylog",

View File

@@ -2,6 +2,7 @@ import { GuildMember } from "discord.js"
import { addVerify, getVerify } from "src/drizzle/functions.js"
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
import { IModal } from "~/interfaces"
import getGuildRank from "~/utils/Functions/guildrank.js"
import roleManage from "~/utils/Functions/rolesmanage.js"
import { getGuild, getHeadURL, getPlayer, getUUID } from "~/utils/Hypixel.js"
@@ -109,34 +110,9 @@ export default {
const GuildMembers = guild!.members
const guildRank = GuildMembers.find(member => member.uuid === player.uuid)!.rank
if (guildRank === "Guild Master") {
const roles = roleManage("gm")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Manager") {
const roles = roleManage("manager")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Moderator") {
const roles = roleManage("moderator")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Beast") {
const roles = roleManage("beast")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Elite") {
const roles = roleManage("elite")
await user.roles.add(roles.rolesToAdd, "Verification")
}
if (guildRank === "Member") {
const roles = roleManage("member")
await user.roles.add(roles.rolesToAdd, "Verification")
const rank = getGuildRank(guildRank)
if (rank) {
await user.roles.add(rank.rolesToAdd, "Verification")
}
await user.roles.add(roleManage("default").rolesToAdd, "Verification")

View File

@@ -1,6 +1,6 @@
const gm = "815893218246787080"
const manager = "815880752683679824"
const moderator = "815880910019887134"
const leader = "815880752683679824"
const staff = "815880910019887134"
const elite = "1137654165884129310"
const beast = "815880942345519104"
const member = "815880984301404190"
@@ -24,10 +24,10 @@ export {
guildRole,
guildStaff,
helper,
manager,
leader,
member,
moderator,
muted,
staff,
verifyTick,
waitingListRole
}

View File

@@ -0,0 +1,57 @@
import roleManage from "./rolesmanage.js"
export default function getGuildRank(rank: string) {
if (rank === "Guild Master") {
const roles = roleManage("gm")
return {
rolesToRemove: roles.rolesToRemove,
rolesToAdd: roles.rolesToAdd,
rank: "Guild Master"
}
}
if (rank === "Leader") {
const roles = roleManage("leader")
return {
rolesToRemove: roles.rolesToRemove,
rolesToAdd: roles.rolesToAdd,
rank: "Leader"
}
}
if (rank === "Staff") {
const roles = roleManage("staff")
return {
rolesToRemove: roles.rolesToRemove,
rolesToAdd: roles.rolesToAdd,
rank: "Staff"
}
}
if (rank === "Beast") {
const roles = roleManage("beast")
return {
rolesToRemove: roles.rolesToRemove,
rolesToAdd: roles.rolesToAdd,
rank: "Beast"
}
}
if (rank === "Elite") {
const roles = roleManage("elite")
return {
rolesToRemove: roles.rolesToRemove,
rolesToAdd: roles.rolesToAdd,
rank: "Elite"
}
}
if (rank === "Member") {
const roles = roleManage("member")
return {
rolesToRemove: roles.rolesToRemove,
rolesToAdd: roles.rolesToAdd,
rank: "Member"
}
}
}

View File

@@ -1,8 +1,8 @@
import { beast, defaultMember, elite, gm, guildRole, guildStaff, manager, member, moderator, verifyTick } from "~/config/roles.js"
import { beast, defaultMember, elite, gm, guildRole, guildStaff, leader, member, staff, verifyTick } from "~/config/roles.js"
const roles = [
gm,
manager,
moderator,
leader,
staff,
beast,
elite,
member,
@@ -12,8 +12,8 @@ const roles = [
type RoleType =
| "gm"
| "manager"
| "moderator"
| "leader"
| "staff"
| "beast"
| "elite"
| "member"
@@ -28,15 +28,15 @@ export default function roleManage(role: RoleType): { rolesToRemove: string[], r
return { rolesToRemove, rolesToAdd }
}
if (role === "manager") {
const rolesToRemove = roles.filter(role => role !== manager && role !== guildStaff && role !== guildRole)
const rolesToAdd = [manager, guildStaff, guildRole, verifyTick]
if (role === "leader") {
const rolesToRemove = roles.filter(role => role !== leader && role !== guildStaff && role !== guildRole)
const rolesToAdd = [leader, 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, verifyTick]
if (role === "staff") {
const rolesToRemove = roles.filter(role => role !== staff && role !== guildStaff && role !== guildRole)
const rolesToAdd = [staff, guildStaff, guildRole, verifyTick]
return { rolesToRemove, rolesToAdd }
}

View File

@@ -33,7 +33,7 @@ export function log(m: string, t: LogType, c?: CustomColorProps): void {
const logType = AllLogs[t].m
const logColor = AllLogs[t].c
const message = `[${logType}] ${time} | ${m}`
const message = `${time} - [${logType}] | ${m}`
if (!c) {
if (t === "info") {
console.log(message)