Fixed formatting on all command files

This commit is contained in:
2024-01-20 17:19:08 +01:00
parent f34923e2c5
commit a3791d170c
25 changed files with 655 additions and 1168 deletions

View File

@@ -120,10 +120,10 @@ export = {
}) })
} else { } else {
if (player.stats.Bedwars) { if (player.stats.Bedwars) {
const hsbwexp = player.stats?.Bedwars?.Experience || 0 const hsbwexp = player.stats.Bedwars?.Experience || 0
const hsbwfk = player.stats?.Bedwars?.final_kills_bedwars || 0 const hsbwfk = player.stats.Bedwars?.final_kills_bedwars || 0
const hsbwfd = player.stats?.Bedwars?.final_deaths_bedwars || 0 const hsbwfd = player.stats.Bedwars?.final_deaths_bedwars || 0
const hsbwwins = player.stats?.Bedwars?.wins_bedwars || 0 const hsbwwins = player.stats.Bedwars?.wins_bedwars || 0
const hsbwstars = bedwarsLevel(hsbwexp) const hsbwstars = bedwarsLevel(hsbwexp)
const hsbwfkdr = hsbwfk / hsbwfd || 0 const hsbwfkdr = hsbwfk / hsbwfd || 0
@@ -151,10 +151,10 @@ export = {
} }
if (player.stats.SkyWars) { if (player.stats.SkyWars) {
const hsswexp = player.stats?.SkyWars?.skywars_experience || 0 const hsswexp = player.stats.SkyWars?.skywars_experience || 0
const hsswkills = player.stats?.SkyWars?.kills || 0 const hsswkills = player.stats.SkyWars?.kills || 0
const hsswdeaths = player.stats?.SkyWars?.deaths || 0 const hsswdeaths = player.stats.SkyWars?.deaths || 0
const hsswwins = player.stats?.SkyWars?.wins || 0 const hsswwins = player.stats.SkyWars?.wins || 0
const hsswstars = skywarsLevel(hsswexp) const hsswstars = skywarsLevel(hsswexp)
const hsswkd = hsswkills / hsswdeaths || 0 const hsswkd = hsswkills / hsswdeaths || 0
@@ -181,10 +181,10 @@ export = {
} }
if (player.stats.Duels) { if (player.stats.Duels) {
const hsduelskills = player.stats?.Duels?.kills || 0 const hsduelskills = player.stats.Duels?.kills || 0
const hsduelsdeaths = player.stats?.Duels?.deaths || 0 const hsduelsdeaths = player.stats.Duels?.deaths || 0
const hsduelswins = player.stats?.Duels?.wins || 0 const hsduelswins = player.stats.Duels?.wins || 0
const hsduelslosses = player.stats?.Duels?.losses || 0 const hsduelslosses = player.stats.Duels?.losses || 0
const hsduelskd = hsduelskills / hsduelsdeaths || 0 const hsduelskd = hsduelskills / hsduelsdeaths || 0
const hsduelswlr = hsduelswins / hsduelslosses || 0 const hsduelswlr = hsduelswins / hsduelslosses || 0
@@ -212,7 +212,7 @@ export = {
} }
// network level // network level
const hypixelExp = player.networkExp || 0 const hypixelExp = player?.networkExp || 0
const level = hypixelLevel(hypixelExp) const level = hypixelLevel(hypixelExp)
await interaction.editReply({ await interaction.editReply({

View File

@@ -58,21 +58,19 @@ export = {
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: "Commands",
title: "Commands", description: "List of commands",
description: "List of commands", fields: commandList,
fields: commandList, color: embedColor,
color: embedColor, thumbnail: {
thumbnail: { url: interaction.guild!.iconURL() || ""
url: interaction.guild!.iconURL() || "" },
}, footer: {
footer: { icon_url: interaction.guild!.iconURL() || undefined,
icon_url: interaction.guild!.iconURL() || undefined, text: interaction.guild!.name + " | " + devMessage
text: interaction.guild!.name + " | " + devMessage
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -18,27 +18,24 @@ export = {
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
await interaction.reply({ await interaction.reply({
embeds: [ embeds: [{
{ title: "Verification",
title: "Verification", description: "1. Log onto hypixel.\n" +
description: "2. Right click with the head in your hotbar.\n" +
"1. Log onto hypixel.\n" + "3. Click on the social media icon.\n" +
"2. Right click with the head in your hotbar.\n" + "4. Click on the discord icon.\n" +
"3. Click on the social media icon.\n" + "5. Type your username in the chat and press enter.\n" +
"4. Click on the discord icon.\n" + "6. Run the `/verify` command in this channel.\n",
"5. Type your username in the chat and press enter.\n" + color: embedColor,
"6. Run the `/verify` command in this channel.\n", footer: {
color: embedColor, text: interaction.guild!.name + " | " + devMessage,
footer: { icon_url: interaction.guild!.iconURL() || undefined
text: interaction.guild!.name + " | " + devMessage, },
icon_url: interaction.guild!.iconURL() || undefined image: {
}, url: instructionsgif,
image: { proxy_url: instructionsgif
url: instructionsgif,
proxy_url: instructionsgif
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1,9 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
userMention,
GuildMember
} from "discord.js"
import { admin, helper } from "config/roles.json" import { admin, helper } from "config/roles.json"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { Command } from "interfaces" import { Command } from "interfaces"
@@ -36,8 +31,7 @@ export = {
await interaction.deferReply() await interaction.deferReply()
const member = interaction.options.getMember("member") as GuildMember const member = interaction.options.getMember("member") as GuildMember
const reason = const reason = interaction.options.getString("reason") ?? "No reason provided."
interaction.options.getString("reason") ?? "No reason provided."
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
const mod = await interaction.guild!.members.fetch(interaction.user.id) const mod = await interaction.guild!.members.fetch(interaction.user.id)
@@ -45,9 +39,7 @@ export = {
const modRoles = mod.roles.cache.map(role => role.id) const modRoles = mod.roles.cache.map(role => role.id)
if (!modRoles.includes(helper) && !modRoles.includes(admin)) { if (!modRoles.includes(helper) && !modRoles.includes(admin)) {
await interaction.editReply( await interaction.editReply("You do not have permission to use this command.")
"You do not have permission to use this command."
)
return return
} }
@@ -79,54 +71,44 @@ export = {
await member.kick(reason + ` - ${mod.user.username}`) await member.kick(reason + ` - ${mod.user.username}`)
await logToChannel("mod", { await logToChannel("mod", {
embeds: [ embeds: [{
{ author: {
author: { name: mod.user.username,
name: mod.user.username, icon_url: mod.user.avatarURL() || undefined
icon_url: mod.user.avatarURL() || undefined },
}, title: "Member Kicked",
title: "Member Kicked", description: `
description: `
**User:** ${userMention(member.user.id)} **User:** ${userMention(member.user.id)}
**Mod:** ${userMention(mod.user.id)} **Mod:** ${userMention(mod.user.id)}
**Reason:** ${reason} **Reason:** ${reason}
`, `,
color: embedColor, color: embedColor,
thumbnail: { thumbnail: {
url: mod.user.avatarURL() || "" url: mod.user.avatarURL() || ""
}, },
footer: { footer: {
text: "ID: " + member.user.id, text: "ID: " + member.user.id,
icon_url: member.user.avatarURL() || undefined icon_url: member.user.avatarURL() || undefined
}, },
timestamp: new Date().toISOString() timestamp: new Date().toISOString()
} }]
]
}) })
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: "Member Kicked",
title: "Member Kicked", description: "**User:** " + userMention(member.user.id) + "\n" +
description: "**Reason:** " + reason + "\n" +
"**User:** " + "**Moderator:** " + mod.user.username,
userMention(member.user.id) + color: embedColor,
"\n" + thumbnail: {
"**Reason:** " + url: member.user.avatarURL() || ""
reason + },
"\n" + footer: {
"**Moderator:** " + icon_url: interaction.guild!.iconURL() || undefined,
mod.user.username, text: interaction.guild!.name + " | " + devMessage
color: embedColor,
thumbnail: {
url: member.user.avatarURL() || ""
},
footer: {
icon_url: interaction.guild!.iconURL() || undefined,
text: interaction.guild!.name + " | " + devMessage
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -19,17 +19,15 @@ export = {
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Ping of the bot is " + client.ws.ping + "ms.",
description: "Ping of the bot is " + client.ws.ping + "ms.", color: embedColor,
color: embedColor, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild?.iconURL() || undefined
icon_url: interaction.guild?.iconURL() || undefined },
}, timestamp: new Date().toISOString()
timestamp: new Date().toISOString() }]
}
]
}) })
} }
} as Command } as Command

View File

@@ -21,8 +21,7 @@ export = {
.setDMPermission(false), .setDMPermission(false),
async execute(interaction) { async execute(interaction) {
const user = (interaction.options.getUser("user") || const user = (interaction.options.getUser("user") || interaction.user) as User
interaction.user) as User
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
let size: number let size: number
@@ -33,13 +32,11 @@ export = {
} }
await interaction.reply({ await interaction.reply({
embeds: [ embeds: [{
{ title: `${user.username}'s pp size`,
title: `${user.username}'s pp size`, description: `8${"=".repeat(size)}D`,
description: `8${"=".repeat(size)}D`, color: embedColor
color: embedColor }]
}
]
}) })
} }
} as Command } as Command

View File

@@ -1,8 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, userMention } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
userMention
} from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import waitinglistSchema from "schemas/waitinglistSchema" import waitinglistSchema from "schemas/waitinglistSchema"
import { Command } from "interfaces" import { Command } from "interfaces"
@@ -36,8 +32,7 @@ export = {
await interaction.deferReply() await interaction.deferReply()
const user = interaction.options.getUser("user")! const user = interaction.options.getUser("user")!
const reason = const reason = interaction.options.getString("reason") ?? "No reason provided."
interaction.options.getString("reason") ?? "No reason provided."
const mod = interaction.user! const mod = interaction.user!
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
@@ -45,14 +40,10 @@ export = {
if (!waitinglist) { if (!waitinglist) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: userMention(user.id) + " is not on the waiting list.",
description: color: embedColor
userMention(user.id) + }]
" is not on the waiting list.",
color: embedColor
}
]
}) })
return return
} }
@@ -60,49 +51,40 @@ export = {
await waitinglistSchema.findOneAndDelete({ userID: user.id }) await waitinglistSchema.findOneAndDelete({ userID: user.id })
await logToChannel("mod", { await logToChannel("mod", {
embeds: [ embeds: [{
{ author: {
author: { name: mod.username,
name: mod.username, icon_url: mod.avatarURL() || undefined
icon_url: mod.avatarURL() || undefined },
}, title: "Waiting List - Remove User",
title: "Waiting List - Remove User", description: `
description: `
**User:** ${userMention(user.id)} **User:** ${userMention(user.id)}
**Reason:** ${reason} **Reason:** ${reason}
**Mod:** ${userMention(mod.id)} **Mod:** ${userMention(mod.id)}
`, `,
color: embedColor, color: embedColor,
thumbnail: { thumbnail: {
url: mod.avatarURL() || "" url: mod.avatarURL() || ""
}, },
footer: { footer: {
icon_url: user.avatarURL() || undefined, icon_url: user.avatarURL() || undefined,
text: "ID: " + user.id text: "ID: " + user.id
}, },
timestamp: new Date().toISOString() timestamp: new Date().toISOString()
} }]
]
}) })
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: "Waiting List - Remove User",
title: "Waiting List - Remove User", description: "**User:** " + userMention(user.id) + "\n" +
description: "**Reason:** `" + reason + "`",
"**User:** " + color: embedColor,
userMention(user.id) + footer: {
"\n" + text: interaction.guild!.name + " | " + devMessage,
"**Reason:** `" + icon_url: interaction.guild!.iconURL() || undefined
reason +
"`",
color: embedColor,
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1,14 +1,6 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { import { bwfkdr, bwstars, bwwins, swstars, swkdr, duelswins, duelswlr } from "config/reqs.json"
bwfkdr,
bwstars,
bwwins,
swstars,
swkdr,
duelswins,
duelswlr
} from "config/reqs.json"
import { Command } from "interfaces" import { Command } from "interfaces"
export = { export = {
@@ -26,52 +18,36 @@ export = {
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
await interaction.reply({ await interaction.reply({
embeds: [ embeds: [{
{ title: "Requirements",
title: "Requirements", description: "**You must make 100k-150k weekly GEXP.\nAs well as onne of the game stats below**",
description: color: embedColor,
"**You must make 100k-150k weekly GEXP.\nAs well as onne of the game stats below**", thumbnail: {
color: embedColor, url: interaction.guild!.iconURL() || ""
thumbnail: { },
url: interaction.guild!.iconURL() || "" fields: [
{
name: "**Bedwars**",
value: "**Stars:** `" + bwstars.toString() +
"`\n**Wins:** `" + bwwins.toString() +
"`\n**FKDR:** `" + bwfkdr.toString() + "`"
}, },
fields: [ {
{ name: "**Skywars**",
name: "**Bedwars**", value: "**Stars:** `" + swstars.toString() +
value: "`\n**KDR:** `" + swkdr.toString() + "`"
"**Stars:** `" + },
bwstars.toString() + {
"`\n**Wins:** `" + name: "**Duels**",
bwwins.toString() + value: "**Wins:** `" + duelswins.toString() +
"`\n**FKDR:** `" + "`\n**WLR:** `" + duelswlr.toString() + "`"
bwfkdr.toString() +
"`"
},
{
name: "**Skywars**",
value:
"**Stars:** `" +
swstars.toString() +
"`\n**KDR:** `" +
swkdr.toString() +
"`"
},
{
name: "**Duels**",
value:
"**Wins:** `" +
duelswins.toString() +
"`\n**WLR:** `" +
duelswlr.toString() +
"`"
}
],
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
} }
],
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1,9 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, ChannelType, TextChannel } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
ChannelType,
TextChannel
} from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { Command } from "interfaces" import { Command } from "interfaces"
@@ -26,10 +21,7 @@ export = {
option option
.setName("channel") .setName("channel")
.setDescription("The channel to send the message to.") .setDescription("The channel to send the message to.")
.addChannelTypes( .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement)
ChannelType.GuildText,
ChannelType.GuildAnnouncement
)
) )
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator) .setDefaultMemberPermissions(PermissionFlagsBits.Administrator)
.setDMPermission(false), .setDMPermission(false),
@@ -38,38 +30,33 @@ export = {
await interaction.deferReply({ ephemeral: true }) await interaction.deferReply({ ephemeral: true })
const message = interaction.options.getString("message")! const message = interaction.options.getString("message")!
const channel = (interaction.options.getChannel("channel") || const channel = (interaction.options.getChannel("channel") || interaction.channel) as TextChannel
interaction.channel) as TextChannel
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
channel.send({ channel.send({
embeds: [ embeds: [{
{ title: interaction.guild!.name,
title: interaction.guild!.name, description: message,
description: message, color: embedColor,
color: embedColor, thumbnail: {
thumbnail: { url: interaction.guild!.iconURL() || ""
url: interaction.guild!.iconURL() || "" },
}, footer: {
footer: { text: interaction.guild!.id + " | " + devMessage,
text: interaction.guild!.id + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Message sent.",
description: "Message sent.", color: embedColor,
color: embedColor, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1,9 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
userMention,
GuildMember
} from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { Command } from "interfaces" import { Command } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel"
@@ -48,42 +43,38 @@ export = {
await member.setNickname(nickname, `Set by ${interaction.user.tag}`) await member.setNickname(nickname, `Set by ${interaction.user.tag}`)
await logToChannel("mod", { await logToChannel("mod", {
embeds: [ embeds: [{
{ author: {
author: { name: interaction.user.username,
name: interaction.user.username, icon_url: interaction.user.avatarURL() || undefined
icon_url: interaction.user.avatarURL() || undefined },
}, title: "Nickname",
title: "Nickname", description: `
description: `
**User:** ${userMention(member.id)} **User:** ${userMention(member.id)}
**Nickname:** ${nickname} **Nickname:** ${nickname}
**Moderator:** ${userMention(interaction.user.id)} **Moderator:** ${userMention(interaction.user.id)}
`, `,
color: embedColor, color: embedColor,
thumbnail: { thumbnail: {
url: interaction.user.avatarURL() || "" url: interaction.user.avatarURL() || ""
}, },
footer: { footer: {
text: "ID: " + member.user.id, text: "ID: " + member.user.id,
icon_url: member.user.avatarURL() || undefined icon_url: member.user.avatarURL() || undefined
}, },
timestamp: new Date().toISOString() timestamp: new Date().toISOString()
} }]
]
}) })
await interaction.reply({ await interaction.reply({
embeds: [ embeds: [{
{ description: `Successfully set the nickname of ${userMention(member.id)} to ${nickname}`,
description: `Successfully set the nickname of ${userMention(member.id)} to ${nickname}`, color: embedColor,
color: embedColor, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
], }],
ephemeral: true ephemeral: true
}) })
} }

View File

@@ -1,12 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, ButtonBuilder, ActionRowBuilder, ButtonStyle, ChannelType, TextChannel } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
ButtonBuilder,
ActionRowBuilder,
ButtonStyle,
ChannelType,
TextChannel
} from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { Command } from "interfaces" import { Command } from "interfaces"
@@ -27,13 +19,8 @@ export = {
.addChannelOption(option => .addChannelOption(option =>
option option
.setName("channel") .setName("channel")
.setDescription( .setDescription("The channel to send the application to.")
"The channel to send the application to." .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement)
)
.addChannelTypes(
ChannelType.GuildText,
ChannelType.GuildAnnouncement
)
.setRequired(true) .setRequired(true)
) )
) )
@@ -44,13 +31,8 @@ export = {
.addChannelOption(option => .addChannelOption(option =>
option option
.setName("channel") .setName("channel")
.setDescription( .setDescription("The channel to send the application to.")
"The channel to send the application to." .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement)
)
.addChannelTypes(
ChannelType.GuildText,
ChannelType.GuildAnnouncement
)
.setRequired(true) .setRequired(true)
) )
) )
@@ -61,13 +43,8 @@ export = {
.addChannelOption(option => .addChannelOption(option =>
option option
.setName("channel") .setName("channel")
.setDescription( .setDescription("The channel to send the verfiy message to.")
"The channel to send the verfiy message to." .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement)
)
.addChannelTypes(
ChannelType.GuildText,
ChannelType.GuildAnnouncement
)
.setRequired(true) .setRequired(true)
) )
) )
@@ -78,13 +55,8 @@ export = {
.addChannelOption(option => .addChannelOption(option =>
option option
.setName("channel") .setName("channel")
.setDescription( .setDescription("The channel to send the waiting list message to.")
"The channel to send the waiting list message to." .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement)
)
.addChannelTypes(
ChannelType.GuildText,
ChannelType.GuildAnnouncement
)
.setRequired(true) .setRequired(true)
) )
) )
@@ -95,13 +67,8 @@ export = {
.addChannelOption(option => .addChannelOption(option =>
option option
.setName("channel") .setName("channel")
.setDescription( .setDescription("The channel to send the application to.")
"The channel to send the application to." .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement)
)
.addChannelTypes(
ChannelType.GuildText,
ChannelType.GuildAnnouncement
)
.setRequired(true) .setRequired(true)
) )
) )
@@ -120,8 +87,7 @@ export = {
if (subcommand === "sendguildapplication") { if (subcommand === "sendguildapplication") {
title = "Guild Application" title = "Guild Application"
description = description = "You can apply for the guild by clicking the button below."
"You can apply for the guild by clicking the button below."
customId = "guildapply" customId = "guildapply"
label = "Apply" label = "Apply"
emoji = "✅" emoji = "✅"
@@ -129,8 +95,7 @@ export = {
if (subcommand === "sendstaffapplication") { if (subcommand === "sendstaffapplication") {
title = "Staff Application" title = "Staff Application"
description = description = "You can apply for the staff team by clicking the button below."
"You can apply for the staff team by clicking the button below."
customId = "staffapply" customId = "staffapply"
label = "Apply" label = "Apply"
emoji = "✅" emoji = "✅"
@@ -138,8 +103,7 @@ export = {
if (subcommand === "sendinactivityapplication") { if (subcommand === "sendinactivityapplication") {
title = "Inactivity Log" title = "Inactivity Log"
description = description = "You can send an inactivity log by clicking the button below."
"You can send an inactivity log by clicking the button below."
customId = "guildinactivitylog" customId = "guildinactivitylog"
label = "Submit" label = "Submit"
emoji = "✅" emoji = "✅"
@@ -162,20 +126,18 @@ export = {
} }
await channel.send({ await channel.send({
embeds: [ embeds: [{
{ title: title,
title: title, description: description,
description: description, color: embedColor,
color: embedColor, thumbnail: {
thumbnail: { url: interaction.guild!.iconURL() || ""
url: interaction.guild!.iconURL() || "" },
}, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
], }],
components: [ components: [
new ActionRowBuilder<ButtonBuilder>().addComponents( new ActionRowBuilder<ButtonBuilder>().addComponents(
new ButtonBuilder() new ButtonBuilder()

View File

@@ -1,11 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, ChannelType, TextChannel, channelMention, userMention } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
ChannelType,
TextChannel,
channelMention,
userMention
} from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { Command } from "interfaces" import { Command } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel"
@@ -28,10 +21,7 @@ export = {
option option
.setName("channel") .setName("channel")
.setDescription("The channel to set the slowmode of.") .setDescription("The channel to set the slowmode of.")
.addChannelTypes( .addChannelTypes(ChannelType.GuildText, ChannelType.GuildAnnouncement)
ChannelType.GuildText,
ChannelType.GuildAnnouncement
)
) )
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator) .setDefaultMemberPermissions(PermissionFlagsBits.Administrator)
.setDMPermission(false), .setDMPermission(false),
@@ -40,64 +30,57 @@ export = {
await interaction.deferReply({ ephemeral: true }) await interaction.deferReply({ ephemeral: true })
const seconds = interaction.options.getInteger("seconds") ?? 5 const seconds = interaction.options.getInteger("seconds") ?? 5
const channel = (interaction.options.getChannel("channel") || const channel = (interaction.options.getChannel("channel") || interaction.channel) as TextChannel
interaction.channel) as TextChannel
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
if (seconds > 21600) { if (seconds > 21600) {
await channel.setRateLimitPerUser(21600) await channel.setRateLimitPerUser(21600)
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: `Set the slowmode of ${channel} to 21600 seconds.`,
description: `Set the slowmode of ${channel} to 21600 seconds.`,
color: embedColor,
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
}
}
]
})
return
}
await logToChannel("mod", {
embeds: [
{
author: {
name: interaction.user.username,
icon_url: interaction.user.avatarURL() || undefined
},
title: "Slowmode Update",
description: `
**Channel:** ${channelMention(channel.id)}
**Slowmode:** ${seconds} seconds
**Mod:** ${userMention(interaction.user.id)}
`,
color: embedColor,
thumbnail: {
url: interaction.user.avatarURL() || ""
},
footer: {
icon_url: interaction.guild!.iconURL() || undefined,
text: " ID: " + channel.id
},
timestamp: new Date().toISOString()
}
]
})
await interaction.editReply({
embeds: [
{
description: `Set the slowmode of ${channel} to ${seconds} seconds.`,
color: embedColor, color: embedColor,
footer: { footer: {
text: interaction.guild!.name + " | " + devMessage, text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined icon_url: interaction.guild!.iconURL() || undefined
} }
}]
})
return
}
await logToChannel("mod", {
embeds: [{
author: {
name: interaction.user.username,
icon_url: interaction.user.avatarURL() || undefined
},
title: "Slowmode Update",
description: `
**Channel:** ${channelMention(channel.id)}
**Slowmode:** ${seconds} seconds
**Mod:** ${userMention(interaction.user.id)}
`,
color: embedColor,
thumbnail: {
url: interaction.user.avatarURL() || ""
},
footer: {
icon_url: interaction.guild!.iconURL() || undefined,
text: " ID: " + channel.id
},
timestamp: new Date().toISOString()
}]
})
await interaction.editReply({
embeds: [{
description: `Set the slowmode of ${channel} to ${seconds} seconds.`,
color: embedColor,
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
} }
] }]
}) })
await channel.setRateLimitPerUser(seconds) await channel.setRateLimitPerUser(seconds)
} }

View File

@@ -33,12 +33,10 @@ export = {
if (!snipeCache.length) { if (!snipeCache.length) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "No messages to snipe",
description: "No messages to snipe", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
@@ -50,32 +48,28 @@ export = {
messages.push(`**Message #${i}:** ${data.content}\n`) messages.push(`**Message #${i}:** ${data.content}\n`)
} else { } else {
messages.push(`**Message #${i}:** ${data.content}`) messages.push(`**Message #${i}:** ${data.content}`)
messages.push( messages.push(`**Attachments:** ${data.attachments.join(", ")}\n`)
`**Attachments:** ${data.attachments.join(", ")}\n`
)
} }
i++ i++
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ author: {
author: { name: member.user.username,
name: member.user.username, icon_url: member.user.avatarURL() || undefined
icon_url: member.user.avatarURL() || undefined },
}, description: messages.join("\n"),
description: messages.join("\n"), thumbnail: {
thumbnail: { url: member.user.avatarURL() || ""
url: member.user.avatarURL() || "" },
}, color: embedColor,
color: embedColor, footer: {
footer: { text: "ID: " + member.user.id,
text: "ID: " + member.user.id, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined },
}, timestamp: new Date().toISOString()
timestamp: new Date().toISOString() }]
}
]
}) })
} }
} as Command } as Command

View File

@@ -59,16 +59,14 @@ export = {
} }
await interaction.reply({ await interaction.reply({
embeds: [ embeds: [{
{ description: "This command is currently under development",
description: "This command is currently under development", color: embedColor,
color: embedColor, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1,27 +1,9 @@
import { import { bwwins, beastbwfkdr, beastbwstars, beastswkdr, beastswstars, beastduelswins, duelswlr } from "config/reqs.json"
bwwins,
beastbwfkdr,
beastbwstars,
beastswkdr,
beastswstars,
beastduelswins,
duelswlr
} from "config/reqs.json"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { import { hypixelLevel, bedwarsLevel, skywarsLevel, getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel"
hypixelLevel,
bedwarsLevel,
skywarsLevel,
getUUID,
getPlayer,
getGuild,
getHeadURL
} from "utils/Hypixel"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"
export default async function beast( export default async function beast(interaction: ChatInputCommandInteraction): Promise<void> {
interaction: ChatInputCommandInteraction
): Promise<void> {
await interaction.deferReply() await interaction.deferReply()
const ign = interaction.options.getString("ign")! const ign = interaction.options.getString("ign")!
@@ -33,46 +15,38 @@ export default async function beast(
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Fetching your uuid...",
description: "Fetching your uuid...", color: embedColor
color: embedColor }]
}
]
}) })
const uuid = await getUUID(ign) const uuid = await getUUID(ign)
if (!uuid) { if (!uuid) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "That player doesn't exist.",
description: "That player doesn't exist.", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Fetching your player data...",
description: "Fetching your player data...", color: embedColor
color: embedColor }]
}
]
}) })
const head = await getHeadURL(ign) const head = await getHeadURL(ign)
const player = await getPlayer(uuid) const player = await getPlayer(uuid)
if (!player) { if (!player) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "That player hasn't played Hypixel before.",
description: "That player hasn't played Hypixel before.", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
@@ -94,12 +68,10 @@ export default async function beast(
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Fetching your guild data...",
description: "Fetching your guild data...", color: embedColor
color: embedColor }]
}
]
}) })
const guild = await getGuild(uuid) const guild = await getGuild(uuid)
@@ -128,44 +100,28 @@ export default async function beast(
}) })
} else { } else {
if (player.stats.Bedwars) { if (player.stats.Bedwars) {
const hsbwexp = player.stats.Bedwars.Experience || 0 const hsbwexp = player.stats.Bedwars?.Experience || 0
const hsbwfk = player.stats.Bedwars?.final_kills_bedwars || 0
const hsbwfd = player.stats.Bedwars?.final_deaths_bedwars || 0
const hsbwwins = player.stats.Bedwars?.wins_bedwars || 0
const hsbwstars = bedwarsLevel(hsbwexp) const hsbwstars = bedwarsLevel(hsbwexp)
const hsbwfk = player.stats?.Bedwars?.final_kills_bedwars || 0
const hsbwfd = player.stats?.Bedwars?.final_deaths_bedwars || 0
const hsbwfkdr = hsbwfk / hsbwfd || 0 const hsbwfkdr = hsbwfk / hsbwfd || 0
const hsbwwins = player.stats.Bedwars.wins_bedwars || 0
let bwtitle = "" let bwtitle = ""
if ( if (hsbwstars < beastbwstars || hsbwfkdr < beastbwfkdr || hsbwwins < bwwins) {
hsbwstars < beastbwstars || bwtitle = "<a:cross_a:1087808606897983539> This player does not meet the BedWars requirements."
hsbwfkdr < beastbwfkdr ||
hsbwwins < bwwins
) {
bwtitle =
"<a:cross_a:1087808606897983539> This player does not meet the BedWars requirements."
} else { } else {
bwtitle = bwtitle = "<a:check_a:1087808632172847134> This player meets the BedWars requirements."
"<a:check_a:1087808632172847134> This player meets the BedWars requirements."
} }
statsFields.push({ statsFields.push({
name: bwtitle, name: bwtitle,
value: value: "**➺ Stars:** `" + hsbwstars.toFixed(2).toString() +
"**➺ Stars:** `" + " / " + beastbwstars.toString() + "`\n" +
hsbwstars.toFixed(2).toString() + "**➺ FKDR:** `" + hsbwfkdr.toFixed(2).toString() +
" / " + " / " + beastbwfkdr.toString() + "`\n" +
beastbwstars.toString() + "**➺ Wins:** `" + hsbwwins.toString() +
"`\n" + " / " + bwwins.toString() + "`"
"**➺ FKDR:** `" +
hsbwfkdr.toFixed(2).toString() +
" / " +
beastbwfkdr.toString() +
"`\n" +
"**➺ Wins:** `" +
hsbwwins.toString() +
" / " +
bwwins.toString() +
"`"
}) })
} else { } else {
statsFields.push({ statsFields.push({
@@ -175,38 +131,27 @@ export default async function beast(
} }
if (player.stats.SkyWars) { if (player.stats.SkyWars) {
const hsswexp = player.stats?.SkyWars?.skywars_experience || 0 const hsswexp = player.stats.SkyWars?.skywars_experience || 0
const hsswkills = player.stats.SkyWars?.kills || 0
const hsswdeaths = player.stats.SkyWars?.deaths || 0
const hsswwins = player.stats.SkyWars?.wins || 0
const hsswstars = skywarsLevel(hsswexp) const hsswstars = skywarsLevel(hsswexp)
const hsswkills = player.stats?.SkyWars?.kills || 0
const hsswdeaths = player.stats?.SkyWars?.deaths || 0
const hsswkd = hsswkills / hsswdeaths || 0 const hsswkd = hsswkills / hsswdeaths || 0
const hsswwins = player.stats?.SkyWars?.wins || 0
let swtitle = "" let swtitle = ""
if (hsswstars < beastswstars || hsswkd < beastswkdr) { if (hsswstars < beastswstars || hsswkd < beastswkdr) {
swtitle = swtitle = "<a:cross_a:1087808606897983539> This player does not meet the SkyWars requirements."
"<a:cross_a:1087808606897983539> This player does not meet the SkyWars requirements."
} else { } else {
swtitle = swtitle = "<a:check_a:1087808632172847134> This player meets the SkyWars requirements."
"<a:check_a:1087808632172847134> This player meets the SkyWars requirements."
} }
statsFields.push({ statsFields.push({
name: swtitle, name: swtitle,
value: value: "**➺ Stars:** `" + hsswstars.toFixed(2).toString() +
"**➺ Stars:** `" + " / " + beastswstars.toString() + "`\n" +
hsswstars.toFixed(2).toString() + "**➺ KDR:** `" + hsswkd.toFixed(2).toString() +
" / " + " / " + beastswkdr.toString() + "`\n" +
beastswstars.toString() + "**➺ Wins:** `" + hsswwins.toString() + "`"
"`\n" +
"**➺ KDR:** `" +
hsswkd.toFixed(2).toString() +
" / " +
beastswkdr.toString() +
"`\n" +
"**➺ Wins:** `" +
hsswwins.toString() +
"`"
}) })
} else { } else {
statsFields.push({ statsFields.push({
@@ -216,38 +161,27 @@ export default async function beast(
} }
if (player.stats.Duels) { if (player.stats.Duels) {
const hsduelskills = player.stats?.Duels?.kills || 0 const hsduelskills = player.stats.Duels?.kills || 0
const hsduelsdeaths = player.stats?.Duels?.deaths || 0 const hsduelsdeaths = player.stats.Duels?.deaths || 0
const hsduelskd = hsduelskills / hsduelsdeaths || 0 const hsduelswins = player.stats.Duels?.wins || 0
const hsduelswins = player.stats?.Duels?.wins || 0 const hsduelslosses = player.stats.Duels?.losses || 0
const hsduelslosses = player.stats?.Duels?.losses || 0 const hsduelskd = hsduelskills / hsduelsdeaths
const hsduelswlr = hsduelswins / hsduelslosses || 0 const hsduelswlr = hsduelswins / hsduelslosses
let duelstitle = "" let duelstitle = ""
if (hsduelswins < beastduelswins || hsduelswlr < duelswlr) { if (hsduelswins < beastduelswins || hsduelswlr < duelswlr) {
duelstitle = duelstitle = "<a:cross_a:1087808606897983539> This player does not meet the Duels requirements."
"<a:cross_a:1087808606897983539> This player does not meet the Duels requirements."
} else { } else {
duelstitle = duelstitle = "<a:check_a:1087808632172847134> This player meets the Duels requirements."
"<a:check_a:1087808632172847134> This player meets the Duels requirements."
} }
statsFields.push({ statsFields.push({
name: duelstitle, name: duelstitle,
value: value: "**➺ Wins:** `" + hsduelswins.toString() +
"**➺ Wins:** `" + " / " + beastduelswins.toString() + "`\n" +
hsduelswins.toString() + "**➺ WLR:** `" + hsduelswlr.toFixed(2).toString() +
" / " + " / " + duelswlr.toString() + "`\n" +
beastduelswins.toString() + "**➺ KDR:** `" + hsduelskd.toFixed(2).toString() + "`"
"`\n" +
"**➺ WLR:** `" +
hsduelswlr.toFixed(2).toString() +
" / " +
duelswlr.toString() +
"`\n" +
"**➺ KDR:** `" +
hsduelskd.toFixed(2).toString() +
"`\n"
}) })
} else { } else {
statsFields.push({ statsFields.push({
@@ -258,30 +192,23 @@ export default async function beast(
} }
// network level // network level
const hypixelExp = player.networkExp || 0 const hypixelExp = player?.networkExp || 0
const level = hypixelLevel(hypixelExp) const level = hypixelLevel(hypixelExp)
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: rank + player.displayname + guildTag,
title: rank + player.displayname + guildTag, description: "**Network Level:** `" + level.toFixed(2).toString() + "`\n" +
description: "**Current Guild:** `" + guildName + "`",
"**Network Level:** `" + color: embedColor,
level.toFixed(2).toString() + thumbnail: {
"`\n" + url: head!
"**Current Guild:** `" + },
guildName + footer: {
"`", text: interaction.guild!.name + " | " + devMessage,
color: embedColor, icon_url: interaction.guild!.iconURL() || undefined
thumbnail: { },
url: head! fields: statsFields
}, }]
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
},
fields: statsFields
}
]
}) })
} }

View File

@@ -2,10 +2,7 @@ import { ChatInputCommandInteraction } from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { ExtendedClient as Client } from "utils/Client" import { ExtendedClient as Client } from "utils/Client"
export default async function help( export default async function help(interaction: ChatInputCommandInteraction, client: Client): Promise<void> {
interaction: ChatInputCommandInteraction,
client: Client
): Promise<void> {
await interaction.deferReply({ ephemeral: true }) await interaction.deferReply({ ephemeral: true })
type CommandList = { type CommandList = {
@@ -48,20 +45,18 @@ export default async function help(
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: "Commands",
title: "Commands", description: "List of commands",
description: "List of commands", fields: commandList,
fields: commandList, color: embedColor,
color: embedColor, thumbnail: {
thumbnail: { url: interaction.guild!.iconURL() || ""
url: interaction.guild!.iconURL() || "" },
}, footer: {
footer: { icon_url: interaction.guild!.iconURL() || undefined,
icon_url: interaction.guild!.iconURL() || undefined, text: interaction.guild?.name + " | " + devMessage
text: interaction.guild?.name + " | " + devMessage
}
} }
] }]
}) })
} }

View File

@@ -6,36 +6,29 @@ import env from "utils/Env"
import { getGuild } from "utils/Hypixel" import { getGuild } from "utils/Hypixel"
import { GuildData } from "interfaces" import { GuildData } from "interfaces"
export default async function updateDiscordRoles( export default async function updateDiscordRoles(interaction: ChatInputCommandInteraction): Promise<void> {
interaction: ChatInputCommandInteraction
): Promise<void> {
const discordMember = interaction.member as GuildMember const discordMember = interaction.member as GuildMember
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
await interaction.deferReply() await interaction.deferReply()
if (discordMember.user.id !== env.prod.dev) { if (discordMember.user.id !== env.prod.dev) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "You do not have permission to use this command.",
description: color: embedColor
"You do not have permission to use this command.", }]
color: embedColor
}
]
}) })
return return
} }
const guildMembers = await interaction const guildMembers = await interaction.guild!.members.fetch().then(
.guild!.members.fetch() members => members.map(member => {
.then(members => return {
members.map(member => { id: member.id,
return { member: member
id: member.id, }
member: member })
} )
})
)
const guildData = (await getGuild(hypixelGuildID, "id")) as GuildData const guildData = (await getGuild(hypixelGuildID, "id")) as GuildData
@@ -59,133 +52,58 @@ export default async function updateDiscordRoles(
}) })
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: `Updating roles for ${guildMembers.length} members...`,
description: `Updating roles for ${guildMembers.length} members...`, color: embedColor
color: embedColor }]
}
]
}) })
for (const gmember of guildMembers) { for (const gmember of guildMembers) {
const memberData = verifiedUsers.find( const memberData = verifiedUsers.find(user => user.userID === gmember.id)
user => user.userID === gmember.id
)
if (!memberData) { if (!memberData) {
const rolesToremove = roleManage("default").rolesToRemove const rolesToremove = roleManage("default").rolesToRemove
await gmember.member.roles.remove( await gmember.member.roles.remove(rolesToremove, "Updating all discord members")
rolesToremove,
"Updating all discord members"
)
continue continue
} }
if (!guildMemberIDs.includes(memberData?.uuid || "none")) { if (!guildMemberIDs.includes(memberData?.uuid || "none")) {
const rolesToremove = roleManage("default").rolesToRemove const rolesToremove = roleManage("default").rolesToRemove
await gmember.member.roles.remove( await gmember.member.roles.remove(rolesToremove, "Updating all discord members")
rolesToremove,
"Updating all discord members"
)
continue continue
} else if (guildMemberIDs.includes(memberData!.uuid)) { } else if (guildMemberIDs.includes(memberData!.uuid)) {
const guildMemberRank = hypixelGuildMembers.find( const guildMemberRank = hypixelGuildMembers.find(gmember => gmember.uuid === memberData!.uuid)!.rank
gmember => gmember.uuid === memberData!.uuid
)!.rank
console.log("Updating roles for " + gmember.member.user.username) console.log("Updating roles for " + gmember.member.user.username)
if (guildMemberRank === "Guild Master") { if (guildMemberRank === "Guild Master") {
// const rolesToRemove = removeThese.filter(role => role !== gm && role !== guildStaff && role !== guildRole)
// await gmember.member.roles.remove(rolesToRemove, "Updating all discord members")
// await gmember.member.roles.add( gm, "Updating all discord members",)
// await gmember.member.roles.add( guildStaff, "Updating all discord members",)
// await gmember.member.roles.add( guildRole, "Updating all discord members",)
const rolesmanage = roleManage("gm") const rolesmanage = roleManage("gm")
gmember.member.roles.remove( gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members")
rolesmanage.rolesToRemove, gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members")
"Updating all discord members"
)
gmember.member.roles.add(
rolesmanage.rolesToAdd,
"Updating all discord members"
)
continue continue
} else if (guildMemberRank === "Manager") { } else if (guildMemberRank === "Manager") {
// const rolesToRemove = removeThese.filter(role => role !== manager && role !== guildStaff && role !== guildRole)
// await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
// await gmember.member.roles.add( manager, "Updating all discord members",)
// await gmember.member.roles.add( guildStaff, "Updating all discord members",)
// await gmember.member.roles.add( guildRole, "Updating all discord members",)
const rolesmanage = roleManage("manager") const rolesmanage = roleManage("manager")
gmember.member.roles.remove( gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members")
rolesmanage.rolesToRemove, gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members")
"Updating all discord members"
)
gmember.member.roles.add(
rolesmanage.rolesToAdd,
"Updating all discord members"
)
continue continue
} else if (guildMemberRank === "Moderator") { } else if (guildMemberRank === "Moderator") {
// const rolesToRemove = removeThese.filter(role => role !== moderator && role !== guildStaff && role !== guildRole)
// await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
// await gmember.member.roles.add( moderator, "Updating all discord members",)
// await gmember.member.roles.add( guildStaff, "Updating all discord members",)
// await gmember.member.roles.add( guildRole, "Updating all discord members",)
const rolesmanage = roleManage("moderator") const rolesmanage = roleManage("moderator")
gmember.member.roles.remove( gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members")
rolesmanage.rolesToRemove, gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members")
"Updating all discord members"
)
gmember.member.roles.add(
rolesmanage.rolesToAdd,
"Updating all discord members"
)
continue continue
} else if (guildMemberRank === "Beast") { } else if (guildMemberRank === "Beast") {
// const rolesToRemove = removeThese.filter(role => role !== beast && role !== guildRole)
// await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
// await gmember.member.roles.add( beast, "Updating all discord members",)
// await gmember.member.roles.add( guildRole, "Updating all discord members",)
const rolesmanage = roleManage("beast") const rolesmanage = roleManage("beast")
gmember.member.roles.remove( gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members")
rolesmanage.rolesToRemove, gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members")
"Updating all discord members"
)
gmember.member.roles.add(
rolesmanage.rolesToAdd,
"Updating all discord members"
)
continue continue
} else if (guildMemberRank === "Elite") { } else if (guildMemberRank === "Elite") {
// const rolesToRemove = removeThese.filter(role => role !== elite && role !== guildRole)
// await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
// await gmember.member.roles.add( elite, "Updating all discord members",)
// await gmember.member.roles.add( guildRole, "Updating all discord members",)
const rolesmanage = roleManage("elite") const rolesmanage = roleManage("elite")
gmember.member.roles.remove( gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members")
rolesmanage.rolesToRemove, gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members")
"Updating all discord members"
)
gmember.member.roles.add(
rolesmanage.rolesToAdd,
"Updating all discord members"
)
continue continue
} else if (guildMemberRank === "Member") { } else if (guildMemberRank === "Member") {
// const rolesToRemove = removeThese.filter(role => role !== member && role !== guildRole)
// await gmember.member.roles.remove( rolesToRemove, "Updating all discord members",)
// await gmember.member.roles.add( member, "Updating all discord members",)
// await gmember.member.roles.add( guildRole, "Updating all discord members",)
const rolesmanage = roleManage("member") const rolesmanage = roleManage("member")
gmember.member.roles.remove( gmember.member.roles.remove(rolesmanage.rolesToRemove, "Updating all discord members")
rolesmanage.rolesToRemove, gmember.member.roles.add(rolesmanage.rolesToAdd, "Updating all discord members")
"Updating all discord members"
)
gmember.member.roles.add(
rolesmanage.rolesToAdd,
"Updating all discord members"
)
continue continue
} }
continue continue
@@ -195,11 +113,9 @@ export default async function updateDiscordRoles(
console.log("Successfully updated all roles.") console.log("Successfully updated all roles.")
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Successfully updated all roles.",
description: "Successfully updated all roles.", color: embedColor
color: embedColor }]
}
]
}) })
} }

View File

@@ -1,10 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, userMention, ChatInputCommandInteraction, GuildMember } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
userMention,
ChatInputCommandInteraction,
GuildMember
} from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { Command } from "interfaces" import { Command } from "interfaces"
import ms from "ms" import ms from "ms"
@@ -44,8 +38,7 @@ export = {
const target = interaction.options.getMember("user")! as GuildMember const target = interaction.options.getMember("user")! as GuildMember
const timeString = interaction.options.getString("time")! const timeString = interaction.options.getString("time")!
const reason = const reason = interaction.options.getString("reason") || "No reason provided"
interaction.options.getString("reason") || "No reason provided"
const mod = interaction.member! as GuildMember const mod = interaction.member! as GuildMember
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
const time = ms(timeString) const time = ms(timeString)
@@ -54,65 +47,50 @@ export = {
if (target.user.bot) { if (target.user.bot) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "You cannot timeout a bot.",
description: "You cannot timeout a bot.", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
if (target.id == interaction.guild!.ownerId) { if (target.id == interaction.guild!.ownerId) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "You cannot timeout the server owner.",
description: "You cannot timeout the server owner.", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
if ( if (interaction.guild!.members.me!.roles.highest.position <= target.roles.highest.position) {
interaction.guild!.members.me!.roles.highest.position <=
target.roles.highest.position
) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "I cannot timeout this user because their role is higher than mine.",
description: color: embedColor
"I cannot timeout this user because their role is higher than mine.", }]
color: embedColor
}
]
}) })
return return
} }
if (mod.roles.highest.position <= target.roles.highest.position) { if (mod.roles.highest.position <= target.roles.highest.position) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "You cannot timeout this user because their role is higher than yours.",
description: color: embedColor
"You cannot timeout this user because their role is higher than yours.", }]
color: embedColor
}
]
}) })
return return
} }
if (target.id == interaction.user.id) { if (target.id == interaction.user.id) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "You cannot timeout yourself.",
description: "You cannot timeout yourself.", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
@@ -123,75 +101,55 @@ export = {
if (target.isCommunicationDisabled()) { if (target.isCommunicationDisabled()) {
if (time === 0) { if (time === 0) {
title = "Timeout Removed" title = "Timeout Removed"
description = description = "Removed timeout of " + userMention(target.id) + " for " + reason
"Removed timeout of " +
userMention(target.id) +
" for " +
reason
timeouttime = null timeouttime = null
} else { } else {
title = "Timeout Updated" title = "Timeout Updated"
description = description = "Updated timeout of " + userMention(target.id) + " to " + prettyTime + " for " + reason
"Updated timeout of " +
userMention(target.id) +
" to " +
prettyTime +
" for " +
reason
timeouttime = time timeouttime = time
} }
} else { } else {
title = "Member Timed Out" title = "Member Timed Out"
description = description = "Timed out " + userMention(target.id) + " for " + prettyTime + " for " + reason
"Timed out " +
userMention(target.id) +
" for " +
prettyTime +
" for " +
reason
timeouttime = time timeouttime = time
} }
await target.timeout(timeouttime, reason) await target.timeout(timeouttime, reason)
await logToChannel("mod", { await logToChannel("mod", {
embeds: [ embeds: [{
{ author: {
author: { name: mod.user.username,
name: mod.user.username, icon_url: mod.user.avatarURL() || undefined
icon_url: mod.user.avatarURL() || undefined },
}, title: title,
title: title, description: `
description: `
**User:** ${userMention(target.id)} **User:** ${userMention(target.id)}
${timeouttime === null ? "**Time:** `None`" : "**Time:** `" + prettyTime + "`"} ${timeouttime === null ? "**Time:** `None`" : "**Time:** `" + prettyTime + "`"}
**Reason:** \`${reason}\` **Reason:** \`${reason}\`
**Mod:** ${userMention(mod.id)} **Mod:** ${userMention(mod.id)}
`, `,
color: embedColor, color: embedColor,
thumbnail: { thumbnail: {
url: mod.user.avatarURL() || "" url: mod.user.avatarURL() || ""
}, },
footer: { footer: {
text: "ID: " + target.id, text: "ID: " + target.id,
icon_url: target.user.avatarURL() || undefined icon_url: target.user.avatarURL() || undefined
}, },
timestamp: new Date().toISOString() timestamp: new Date().toISOString()
} }]
]
}) })
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: description,
description: description, color: embedColor,
color: embedColor, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1,9 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, userMention, User } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
userMention,
User
} from "discord.js"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import { Command } from "interfaces" import { Command } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel"
@@ -37,20 +32,17 @@ export = {
await interaction.deferReply() await interaction.deferReply()
const userid = interaction.options.getString("user")! const userid = interaction.options.getString("user")!
const reason = const reason = interaction.options.getString("reason") || "No reason provided"
interaction.options.getString("reason") || "No reason provided"
const mod = interaction.user const mod = interaction.user
const embedColor = Number(color.replace("#", "0x")) const embedColor = Number(color.replace("#", "0x"))
let user: User let user: User
if (userid === "none") { if (userid === "none") {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "You haven't specified a user to unban",
description: "You haven't specified a user to unban", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
@@ -59,12 +51,10 @@ export = {
user = await interaction.client.users.fetch(userid) user = await interaction.client.users.fetch(userid)
} catch (error) { } catch (error) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "The user you specified is not valid",
description: "The user you specified is not valid", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
@@ -72,54 +62,44 @@ export = {
await interaction.guild!.members.unban(user.id, reason) await interaction.guild!.members.unban(user.id, reason)
await logToChannel("mod", { await logToChannel("mod", {
embeds: [ embeds: [{
{ author: {
author: { name: mod.username,
name: mod.username, icon_url: mod.avatarURL() || undefined
icon_url: mod.avatarURL() || undefined },
}, title: "Member Unbanned",
title: "Member Unbanned", description: `
description: ` **User:** ${userMention(user!.id)}
**User:** ${userMention(user!.id)} **Mod:** ${userMention(mod.id)}
**Mod:** ${userMention(mod.id)} **Reason:** ${reason}
**Reason:** ${reason} `,
`, color: embedColor,
color: embedColor, thumbnail: {
thumbnail: { url: mod.avatarURL() || ""
url: mod.avatarURL() || "" },
}, footer: {
footer: { text: "ID: " + user!.id,
text: "ID: " + user!.id, icon_url: user.avatarURL() || undefined
icon_url: user.avatarURL() || undefined },
}, timestamp: new Date().toISOString()
timestamp: new Date().toISOString() }]
}
]
}) })
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: "User unbanned",
title: "User unbanned", description: "The user " + user!.username + " has been unbanned.\n" +
description: "**Reason:** `" + reason + "`\n" +
"The user " + "**Moderator:** " + userMention(mod.id),
user!.username + color: embedColor,
" has been unbanned.\n" + thumbnail: {
"**Reason:** `" + url: user!.avatarURL() || ""
reason + },
"`\n" + footer: {
"**Moderator:** " + icon_url: interaction.guild!.iconURL() || undefined,
userMention(mod.id), text: interaction.guild!.name + " | " + devMessage
color: embedColor,
thumbnail: {
url: user!.avatarURL() || ""
},
footer: {
icon_url: interaction.guild!.iconURL() || undefined,
text: interaction.guild!.name + " | " + devMessage
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -25,28 +25,23 @@ export = {
if (!verifyData) { if (!verifyData) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "You are not verified. Please run `/verify` to verify yourself",
description: color: embedColor,
"You are not verified. Please run `/verify` to verify yourself", footer: {
color: embedColor, text: interaction.guild!.name + " | " + devMessage,
footer: { icon_url: interaction.guild!.iconURL() || undefined
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
return return
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Fetching your guild data...",
description: "Fetching your guild data...", color: embedColor
color: embedColor }]
}
]
}) })
const guild = await getGuild(verifyData.uuid) const guild = await getGuild(verifyData.uuid)
@@ -61,138 +56,87 @@ export = {
const head = await getHeadURL(ign) const head = await getHeadURL(ign)
if (guildID !== hypixelGuildID) { if (guildID !== hypixelGuildID) {
const roles = roleManage("default") const roles = roleManage("default")
await user.roles.remove( await user.roles.remove(roles.rolesToRemove, "User used the update command")
roles.rolesToRemove, await user.roles.add(roles.rolesToAdd, "User used the update command")
"User used the update command"
)
await user.roles.add(
roles.rolesToAdd,
"User used the update command"
)
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Updated your roles to `Default Member`",
description: "Updated your roles to `Default Member`", color: embedColor,
color: embedColor, thumbnail: {
thumbnail: { url: head!
url: head! },
}, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
return return
} }
if (guildID === hypixelGuildID) { if (guildID === hypixelGuildID) {
const GuildMembers = guild!.members const GuildMembers = guild!.members
const guildRank = GuildMembers.find( const guildRank = GuildMembers.find(member => member.uuid === verifyData.uuid)!.rank
member => member.uuid === verifyData.uuid
)!.rank
let replyRank: string | null = null let replyRank: string | null = null
await user.roles.add( await user.roles.add(roleManage("default").rolesToAdd, "User used the update command")
roleManage("default").rolesToAdd,
"User used the update command"
)
if (guildRank === "Guild Master") { if (guildRank === "Guild Master") {
const roles = roleManage("gm") const roles = roleManage("gm")
await user.roles.remove( await user.roles.remove(roles.rolesToRemove, "User used the update command")
roles.rolesToRemove, await user.roles.add(roles.rolesToAdd, "User used the update command")
"User used the update command"
)
await user.roles.add(
roles.rolesToAdd,
"User used the update command"
)
replyRank = "Guild Master" replyRank = "Guild Master"
} }
if (guildRank === "Manager") { if (guildRank === "Manager") {
const roles = roleManage("manager") const roles = roleManage("manager")
await user.roles.remove( await user.roles.remove(roles.rolesToRemove, "User used the update command")
roles.rolesToRemove, await user.roles.add(roles.rolesToAdd, "User used the update command")
"User used the update command"
)
await user.roles.add(
roles.rolesToAdd,
"User used the update command"
)
replyRank = "Manager" replyRank = "Manager"
} }
if (guildRank === "Moderator") { if (guildRank === "Moderator") {
const roles = roleManage("moderator") const roles = roleManage("moderator")
await user.roles.remove( await user.roles.remove(roles.rolesToRemove, "User used the update command")
roles.rolesToRemove, await user.roles.add(roles.rolesToAdd, "User used the update command")
"User used the update command"
)
await user.roles.add(
roles.rolesToAdd,
"User used the update command"
)
replyRank = "Moderator" replyRank = "Moderator"
} }
if (guildRank === "Beast") { if (guildRank === "Beast") {
const roles = roleManage("beast") const roles = roleManage("beast")
await user.roles.remove( await user.roles.remove(roles.rolesToRemove, "User used the update command")
roles.rolesToRemove, await user.roles.add(roles.rolesToAdd, "User used the update command")
"User used the update command"
)
await user.roles.add(
roles.rolesToAdd,
"User used the update command"
)
replyRank = "Beast" replyRank = "Beast"
} }
if (guildRank === "Elite") { if (guildRank === "Elite") {
const roles = roleManage("elite") const roles = roleManage("elite")
await user.roles.remove( await user.roles.remove(roles.rolesToRemove, "User used the update command")
roles.rolesToRemove, await user.roles.add(roles.rolesToAdd, "User used the update command")
"User used the update command"
)
await user.roles.add(
roles.rolesToAdd,
"User used the update command"
)
replyRank = "Elite" replyRank = "Elite"
} }
if (guildRank === "Member") { if (guildRank === "Member") {
const roles = roleManage("member") const roles = roleManage("member")
await user.roles.remove( await user.roles.remove(roles.rolesToRemove, "User used the update command")
roles.rolesToRemove, await user.roles.add(roles.rolesToAdd, "User used the update command")
"User used the update command"
)
await user.roles.add(
roles.rolesToAdd,
"User used the update command"
)
replyRank = "Member" replyRank = "Member"
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description:
description: "Updated your roles to `" + replyRank + "`",
"Updated your roles to `" + replyRank + "`", color: embedColor,
color: embedColor, thumbnail: {
thumbnail: { url: head!
url: head! },
}, footer: {
footer: { text: interaction.guild!.name + " | " + devMessage,
text: interaction.guild!.name + " | " + devMessage, icon_url: interaction.guild!.iconURL() || undefined
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} }

View File

@@ -32,37 +32,28 @@ export = {
if (!uuid) { if (!uuid) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "That player doesn't exist!",
description: "That player doesn't exist!", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: newIgn,
title: newIgn, description: "**UUID:** `" + uuid + "`\n" +
description: "**Formatted UUID:** `" + formattedUuid + "`",
"**UUID:** `" + color: embedColor,
uuid + thumbnail: {
"`\n" + url: head!
"**Formatted UUID:** `" + },
formattedUuid + footer: {
"`", text: interaction.guild!.name + " | " + devMessage,
color: embedColor, icon_url: interaction.guild!.iconURL() || undefined
thumbnail: {
url: head!
},
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -34,69 +34,53 @@ export = {
const verifyData = await verify.findOne({ userID: user.id }) const verifyData = await verify.findOne({ userID: user.id })
if (verifyData) { if (verifyData) {
interaction.editReply( interaction.editReply("You are already verified.\n" + "Try running /update to update your roles.")
"You are already verified.\n" +
"Try running /update to update your roles."
)
return return
} }
if (!ign) { if (!ign) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "<a:cross_a:1087808606897983539> Please provide your in-game name.",
description: color: embedColor
"<a:cross_a:1087808606897983539> Please provide your in-game name.", }]
color: embedColor
}
]
}) })
return return
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Fetching your uuid...",
description: "Fetching your uuid...", color: embedColor
color: embedColor }]
}
]
}) })
const uuid = await getUUID(ign) const uuid = await getUUID(ign)
if (!uuid) { if (!uuid) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "<a:questionmark_pink:1130206038008803488> That player does not exist.",
description: color: embedColor
"<a:questionmark_pink:1130206038008803488> That player does not exist.", }]
color: embedColor
}
]
}) })
return return
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Fetching your player data...",
description: "Fetching your player data...", color: embedColor
color: embedColor }]
}
]
}) })
const head = await getHeadURL(ign) const head = await getHeadURL(ign)
const player = (await getPlayer(uuid)) as PlayerData const player = (await getPlayer(uuid)) as PlayerData
if (!player) { if (!player) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "<a:questionmark_pink:1130206038008803488> That player hasn't played Hypixel before.",
description: color: embedColor
"<a:questionmark_pink:1130206038008803488> That player hasn't played Hypixel before.", }]
color: embedColor
}
]
}) })
return return
} }
@@ -109,60 +93,40 @@ export = {
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Checking your Discord tag...",
description: "Checking your Discord tag...", color: embedColor
color: embedColor }]
}
]
}) })
const linkedDiscord = player?.socialMedia?.links?.DISCORD || null const linkedDiscord = player?.socialMedia?.links?.DISCORD || null
if (!linkedDiscord) { if (!linkedDiscord) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "<a:cross_a:1087808606897983539> There is no Discord account linked to `" + player.displayname + "`.\n\n" +
description: "**Please set your Discord tag on hypixel to `" + username + "` and try again.**",
"<a:cross_a:1087808606897983539> There is no Discord account linked to `" + color: embedColor
player.displayname + }]
"`.\n\n" +
"**Please set your Discord tag on hypixel to `" +
username +
"` and try again.**",
color: embedColor
}
]
}) })
return return
} }
if (linkedDiscord !== username) { if (linkedDiscord !== username) {
interaction.editReply({ interaction.editReply({
embeds: [ embeds: [{
{ description: "<a:cross_a:1087808606897983539> The Discord account linked to `" + player.displayname + "` is currently `" + linkedDiscord + "`\n\n" +
description: "**Please set your Discord tag on hypixel to `" + username + "` and try again.**",
"<a:cross_a:1087808606897983539> The Discord account linked to `" + color: embedColor
player.displayname + }]
"` is currently `" +
linkedDiscord +
"`\n\n" +
"**Please set your Discord tag on hypixel to `" +
username +
"` and try again.**",
color: embedColor
}
]
}) })
return return
} }
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "Fetching your guild data...",
description: "Fetching your guild data...", color: embedColor
color: embedColor }]
}
]
}) })
const guild = (await getGuild(uuid)) as GuildData | null const guild = (await getGuild(uuid)) as GuildData | null
@@ -175,9 +139,7 @@ export = {
if (guildID === hypixelGuildID) { if (guildID === hypixelGuildID) {
const GuildMembers = guild!.members const GuildMembers = guild!.members
const guildRank = GuildMembers.find( const guildRank = GuildMembers.find(member => member.uuid === player.uuid)!.rank
member => member.uuid === player.uuid
)!.rank
if (guildRank === "Guild Master") { if (guildRank === "Guild Master") {
const roles = roleManage("gm") const roles = roleManage("gm")
@@ -221,25 +183,18 @@ export = {
await newVerify.save() await newVerify.save()
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: interaction.guild!.name,
title: interaction.guild!.name, description: "You have successfully verified `" + username + "` with the account `" + player.displayname + "`.",
description: color: embedColor,
"You have successfully verified `" + thumbnail: {
username + url: head!
"` with the account `" + },
player.displayname + footer: {
"`.", icon_url: interaction.guild!.iconURL() || undefined,
color: embedColor, text: interaction.guild!.name + " | " + devMessage
thumbnail: {
url: head!
},
footer: {
icon_url: interaction.guild!.iconURL() || undefined,
text: interaction.guild!.name + " | " + devMessage
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -24,12 +24,10 @@ export = {
if (!verifyData) { if (!verifyData) {
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ description: "You are not verified!",
description: "You are not verified!", color: embedColor
color: embedColor }]
}
]
}) })
return return
} }
@@ -38,25 +36,19 @@ export = {
const head = await getHeadURL(ign!) const head = await getHeadURL(ign!)
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: "User Info",
title: "User Info", description: "**User:** " + userMention(user.id) +
description: "\n**IGN:** `" + ign + "`",
"**User:** " + color: embedColor,
userMention(user.id) + thumbnail: {
"\n**IGN:** `" + url: head!
ign + },
"`", footer: {
color: embedColor, text: interaction.guild!.name + " | " + devMessage,
thumbnail: { icon_url: interaction.guild!.iconURL() || undefined
url: head!
},
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1,8 +1,4 @@
import { import { SlashCommandBuilder, PermissionFlagsBits, userMention } from "discord.js"
SlashCommandBuilder,
PermissionFlagsBits,
userMention
} from "discord.js"
import { getIGN, getHeadURL } from "utils/Hypixel" import { getIGN, getHeadURL } from "utils/Hypixel"
import { color, devMessage } from "config/options.json" import { color, devMessage } from "config/options.json"
import verify from "schemas/verifySchema" import verify from "schemas/verifySchema"
@@ -34,9 +30,7 @@ export = {
const verifiedUser = await verify.findOne({ userID: user.id }) const verifiedUser = await verify.findOne({ userID: user.id })
if (!verifiedUser) { if (!verifiedUser) {
interaction.editReply({ interaction.editReply("You are not verified!")
content: "This user has not verified their account."
})
return return
} }
@@ -44,24 +38,19 @@ export = {
const head = await getHeadURL(ign) const head = await getHeadURL(ign)
await interaction.editReply({ await interaction.editReply({
embeds: [ embeds: [{
{ title: interaction.guild!.name,
title: interaction.guild!.name, description: "**User:** " + userMention(user.id) +
description: "\n**IGN:** " + ign,
"**User:** " + color: embedColor,
userMention(user.id) + thumbnail: {
"\n**IGN:** " + url: head!
ign, },
color: embedColor, footer: {
thumbnail: { text: interaction.guild!.name + " | " + devMessage,
url: head! icon_url: interaction.guild!.iconURL() || undefined
},
footer: {
text: interaction.guild!.name + " | " + devMessage,
icon_url: interaction.guild!.iconURL() || undefined
}
} }
] }]
}) })
} }
} as Command } as Command

View File

@@ -1195,11 +1195,6 @@ prelude-ls@^1.2.1:
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
prettier@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.1.tgz#babf33580e16c796a9740b9fae551624f7bfeaab"
integrity sha512-qSUWshj1IobVbKc226Gw2pync27t0Kf0EdufZa9j7uBSJay1CC+B3K5lAAZoqgX3ASiKuWsk6OmzKRetXNObWg==
pretty-ms@^8.0.0: pretty-ms@^8.0.0:
version "8.0.0" version "8.0.0"
resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-8.0.0.tgz#a35563b2a02df01e595538f86d7de54ca23194a3" resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-8.0.0.tgz#a35563b2a02df01e595538f86d7de54ca23194a3"