Moved subcommand builder to their files
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
import { InteractionContextType, SlashCommandBuilder } from "discord.js"
|
import { InteractionContextType, SlashCommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { ICommand } from "~/typings"
|
import { ICommand } from "~/typings"
|
||||||
import guildInfo from "./guild/info"
|
import guildInfo, { infoSub } from "./guild/info"
|
||||||
import guildMember from "./guild/member"
|
import guildMember, { memberSub } from "./guild/member"
|
||||||
import guildTop from "./guild/top"
|
import guildTop, { topSub } from "./guild/top"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "guild",
|
name: "guild",
|
||||||
@@ -15,66 +15,9 @@ export default {
|
|||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
.setName("guild")
|
.setName("guild")
|
||||||
.setDescription("Subcommands for guilds")
|
.setDescription("Subcommands for guilds")
|
||||||
.addSubcommand(subcommand =>
|
.addSubcommand(memberSub)
|
||||||
subcommand
|
.addSubcommand(infoSub)
|
||||||
.setName("member")
|
.addSubcommand(topSub)
|
||||||
.setDescription("Get info about a guild memeber")
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName("ign")
|
|
||||||
.setDescription("The IGN of the player.")
|
|
||||||
.setMinLength(3)
|
|
||||||
.setMaxLength(16)
|
|
||||||
.setRequired(true)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.addSubcommand(subcommand =>
|
|
||||||
subcommand
|
|
||||||
.setName("info")
|
|
||||||
.setDescription("Get info about a guild.")
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName("query")
|
|
||||||
.setDescription("The query to search for. [Default: player]")
|
|
||||||
.setRequired(true)
|
|
||||||
)
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName("type")
|
|
||||||
.setDescription("The type of query.")
|
|
||||||
.addChoices(
|
|
||||||
{ name: "Guild Member", value: "ign" },
|
|
||||||
{ name: "Guild Name", value: "name" },
|
|
||||||
{ name: "Guild Id", value: "id" }
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.addSubcommand(subcommand =>
|
|
||||||
subcommand
|
|
||||||
.setName("top")
|
|
||||||
.setDescription("Get the top guild members based on gexp")
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName("query")
|
|
||||||
.setDescription("The query to search for. [Default: player]")
|
|
||||||
.setRequired(true)
|
|
||||||
)
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName("type")
|
|
||||||
.setDescription("The type of query.")
|
|
||||||
.addChoices(
|
|
||||||
{ name: "Guild Member", value: "ign" },
|
|
||||||
{ name: "Guild Name", value: "name" },
|
|
||||||
{ name: "Guild Id", value: "id" }
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.addNumberOption(option =>
|
|
||||||
option
|
|
||||||
.setName("amount")
|
|
||||||
.setDescription("The amount of guild members to show. [Default: 10]")
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.setContexts(InteractionContextType.Guild),
|
.setContexts(InteractionContextType.Guild),
|
||||||
|
|
||||||
async execute({ interaction }) {
|
async execute({ interaction }) {
|
||||||
|
|||||||
@@ -1,8 +1,29 @@
|
|||||||
|
import { SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { IGuildData, SubCommand } from "~/typings"
|
import { IGuildData, SubCommand } from "~/typings"
|
||||||
import { dateTimeFormatter, numberFormatter } from "~/utils/Functions/intlFormaters"
|
import { dateTimeFormatter, numberFormatter } from "~/utils/Functions/intlFormaters"
|
||||||
import { getGuild, getIGN, getPlayer, getUUID, guildLevel } from "~/utils/Hypixel"
|
import { getGuild, getIGN, getPlayer, getUUID, guildLevel } from "~/utils/Hypixel"
|
||||||
|
|
||||||
|
export const infoSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("info")
|
||||||
|
.setDescription("Get info about a guild.")
|
||||||
|
.addStringOption(option =>
|
||||||
|
option
|
||||||
|
.setName("query")
|
||||||
|
.setDescription("The query to search for. [Default: player]")
|
||||||
|
.setRequired(true)
|
||||||
|
)
|
||||||
|
.addStringOption(option =>
|
||||||
|
option
|
||||||
|
.setName("type")
|
||||||
|
.setDescription("The type of query.")
|
||||||
|
.addChoices(
|
||||||
|
{ name: "Guild Member", value: "ign" },
|
||||||
|
{ name: "Guild Name", value: "name" },
|
||||||
|
{ name: "Guild Id", value: "id" }
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
const cmd: SubCommand = async (interaction) => {
|
const cmd: SubCommand = async (interaction) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,21 @@
|
|||||||
|
import { SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { SubCommand } from "~/typings"
|
import { SubCommand } from "~/typings"
|
||||||
import { dateTimeFormatter, numberFormatter } from "~/utils/Functions/intlFormaters"
|
import { dateTimeFormatter, numberFormatter } from "~/utils/Functions/intlFormaters"
|
||||||
import { getGuild, getHeadURL, getPlayer, getUUID } from "~/utils/Hypixel"
|
import { getGuild, getHeadURL, getPlayer, getUUID } from "~/utils/Hypixel"
|
||||||
|
|
||||||
|
export const memberSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("member")
|
||||||
|
.setDescription("Get info about a guild memeber")
|
||||||
|
.addStringOption(option =>
|
||||||
|
option
|
||||||
|
.setName("ign")
|
||||||
|
.setDescription("The IGN of the player.")
|
||||||
|
.setMinLength(3)
|
||||||
|
.setMaxLength(16)
|
||||||
|
.setRequired(true)
|
||||||
|
)
|
||||||
|
|
||||||
const cmd: SubCommand = async (interaction) => {
|
const cmd: SubCommand = async (interaction) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,35 @@
|
|||||||
|
import { SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { IGuildData, SubCommand } from "~/typings"
|
import { IGuildData, SubCommand } from "~/typings"
|
||||||
import { numberFormatter } from "~/utils/Functions/intlFormaters"
|
import { numberFormatter } from "~/utils/Functions/intlFormaters"
|
||||||
import { getGuild, getIGN, getPlayer, getUUID } from "~/utils/Hypixel"
|
import { getGuild, getIGN, getPlayer, getUUID } from "~/utils/Hypixel"
|
||||||
import { redis } from "~/utils/Illegitimate"
|
import { redis } from "~/utils/Illegitimate"
|
||||||
|
|
||||||
|
export const topSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("top")
|
||||||
|
.setDescription("Get the top guild members based on gexp")
|
||||||
|
.addStringOption(option =>
|
||||||
|
option
|
||||||
|
.setName("query")
|
||||||
|
.setDescription("The query to search for. [Default: player]")
|
||||||
|
.setRequired(true)
|
||||||
|
)
|
||||||
|
.addStringOption(option =>
|
||||||
|
option
|
||||||
|
.setName("type")
|
||||||
|
.setDescription("The type of query.")
|
||||||
|
.addChoices(
|
||||||
|
{ name: "Guild Member", value: "ign" },
|
||||||
|
{ name: "Guild Name", value: "name" },
|
||||||
|
{ name: "Guild Id", value: "id" }
|
||||||
|
)
|
||||||
|
)
|
||||||
|
.addNumberOption(option =>
|
||||||
|
option
|
||||||
|
.setName("amount")
|
||||||
|
.setDescription("The amount of guild members to show. [Default: 10]")
|
||||||
|
)
|
||||||
|
|
||||||
const cmd: SubCommand = async (interaction) => {
|
const cmd: SubCommand = async (interaction) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder } from "discord.js"
|
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { ICommand } from "~/typings"
|
import { ICommand } from "~/typings"
|
||||||
import beast from "./staff/beast"
|
import beast, { beastSub } from "./staff/beast"
|
||||||
import help from "./staff/help"
|
import help, { helpSub } from "./staff/help"
|
||||||
import prune from "./staff/prune"
|
import prune, { pruneSub } from "./staff/prune"
|
||||||
import removeGuildRoles from "./staff/removeguildroles"
|
import removeGuildRoles, { removeGuildRolesSub } from "./staff/removeguildroles"
|
||||||
import updateAll from "./staff/updateall"
|
import updateAll, { updateAllSub } from "./staff/updateall"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "staff",
|
name: "staff",
|
||||||
@@ -17,37 +17,11 @@ export default {
|
|||||||
data: new SlashCommandBuilder()
|
data: new SlashCommandBuilder()
|
||||||
.setName("staff")
|
.setName("staff")
|
||||||
.setDescription("Subcommands for staff")
|
.setDescription("Subcommands for staff")
|
||||||
.addSubcommand(subcommand =>
|
.addSubcommand(helpSub)
|
||||||
subcommand
|
.addSubcommand(beastSub)
|
||||||
.setName("help")
|
.addSubcommand(pruneSub)
|
||||||
.setDescription("Get help with staff commands")
|
.addSubcommand(removeGuildRolesSub)
|
||||||
)
|
.addSubcommand(updateAllSub)
|
||||||
.addSubcommand(subcommand =>
|
|
||||||
subcommand
|
|
||||||
.setName("beast")
|
|
||||||
.setDescription("Check a user for beast reqs")
|
|
||||||
.addStringOption(option =>
|
|
||||||
option
|
|
||||||
.setName("ign")
|
|
||||||
.setDescription("The IGN of the player.")
|
|
||||||
.setRequired(true)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.addSubcommand(subcommand =>
|
|
||||||
subcommand
|
|
||||||
.setName("prune")
|
|
||||||
.setDescription("Update the discord roles of all guild members")
|
|
||||||
)
|
|
||||||
.addSubcommand(subcommand =>
|
|
||||||
subcommand
|
|
||||||
.setName("removeguildroles")
|
|
||||||
.setDescription("Remove guild roles from non members")
|
|
||||||
)
|
|
||||||
.addSubcommand(subcommand =>
|
|
||||||
subcommand
|
|
||||||
.setName("updateall")
|
|
||||||
.setDescription("Update the discord roles of all guild members")
|
|
||||||
)
|
|
||||||
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator)
|
.setDefaultMemberPermissions(PermissionFlagsBits.Administrator)
|
||||||
.setContexts(InteractionContextType.Guild),
|
.setContexts(InteractionContextType.Guild),
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,19 @@
|
|||||||
|
import { SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { beastbwfkdr, beastbwstars, beastduelswins, beastswkdr, beastswstars, bwwins, duelswlr } from "~/config/reqs"
|
import { beastbwfkdr, beastbwstars, beastduelswins, beastswkdr, beastswstars, bwwins, duelswlr } from "~/config/reqs"
|
||||||
import { SubCommand } from "~/typings"
|
import { SubCommand } from "~/typings"
|
||||||
import { bedwarsLevel, getGuild, getHeadURL, getPlayer, getUUID, hypixelLevel, skywarsLevel } from "~/utils/Hypixel"
|
import { bedwarsLevel, getGuild, getHeadURL, getPlayer, getUUID, hypixelLevel, skywarsLevel } from "~/utils/Hypixel"
|
||||||
|
|
||||||
|
export const beastSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("beast")
|
||||||
|
.setDescription("Check a user for beast reqs")
|
||||||
|
.addStringOption(option =>
|
||||||
|
option
|
||||||
|
.setName("ign")
|
||||||
|
.setDescription("The IGN of the player.")
|
||||||
|
.setRequired(true)
|
||||||
|
)
|
||||||
|
|
||||||
const cmd: SubCommand = async (interaction) => {
|
const cmd: SubCommand = async (interaction) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, ComponentType, MessageFlags } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, ComponentType, MessageFlags, SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { SubCommmndClient } from "~/typings"
|
import { SubCommmndClient } from "~/typings"
|
||||||
|
|
||||||
|
export const helpSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("help")
|
||||||
|
.setDescription("Get help with staff commands")
|
||||||
|
|
||||||
const cmd: SubCommmndClient = async (interaction, client) => {
|
const cmd: SubCommmndClient = async (interaction, client) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, ComponentType } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, ComponentType, SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { devMessage, embedColor } from "~/config/options"
|
import { devMessage, embedColor } from "~/config/options"
|
||||||
import { SubCommand } from "~/typings"
|
import { SubCommand } from "~/typings"
|
||||||
import env from "~/utils/Env"
|
import env from "~/utils/Env"
|
||||||
|
|
||||||
|
export const pruneSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("prune")
|
||||||
|
.setDescription("Update the discord roles of all guild members")
|
||||||
|
|
||||||
const cmd: SubCommand = async (interaction) => {
|
const cmd: SubCommand = async (interaction) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { GuildMember } from "discord.js"
|
import { GuildMember, SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { getVerifies } from "src/drizzle/functions"
|
import { getVerifies } from "src/drizzle/functions"
|
||||||
import { embedColor, hypixelGuildID } from "~/config/options"
|
import { embedColor, hypixelGuildID } from "~/config/options"
|
||||||
import { IGuildData, SubCommand } from "~/typings"
|
import { IGuildData, SubCommand } from "~/typings"
|
||||||
@@ -6,6 +6,10 @@ import env from "~/utils/Env"
|
|||||||
import roleManage from "~/utils/Functions/rolesmanage"
|
import roleManage from "~/utils/Functions/rolesmanage"
|
||||||
import { getGuild } from "~/utils/Hypixel"
|
import { getGuild } from "~/utils/Hypixel"
|
||||||
|
|
||||||
|
export const removeGuildRolesSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("removeguildroles")
|
||||||
|
.setDescription("Remove guild roles from non members")
|
||||||
|
|
||||||
const cmd: SubCommand = async (interaction) => {
|
const cmd: SubCommand = async (interaction) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { ChannelType, GuildMember } from "discord.js"
|
import { ChannelType, GuildMember, SlashCommandSubcommandBuilder } from "discord.js"
|
||||||
import { getVerifies } from "src/drizzle/functions"
|
import { getVerifies } from "src/drizzle/functions"
|
||||||
import { embedColor, hypixelGuildID } from "~/config/options"
|
import { embedColor, hypixelGuildID } from "~/config/options"
|
||||||
import { IGuildData, SubCommand } from "~/typings"
|
import { IGuildData, SubCommand } from "~/typings"
|
||||||
@@ -8,6 +8,10 @@ import roleManage from "~/utils/Functions/rolesmanage"
|
|||||||
import { getGuild, getIGN } from "~/utils/Hypixel"
|
import { getGuild, getIGN } from "~/utils/Hypixel"
|
||||||
import { log } from "~/utils/Logger"
|
import { log } from "~/utils/Logger"
|
||||||
|
|
||||||
|
export const updateAllSub = new SlashCommandSubcommandBuilder()
|
||||||
|
.setName("updateall")
|
||||||
|
.setDescription("Update the discord roles of all guild members")
|
||||||
|
|
||||||
const cmd: SubCommand = async (interaction) => {
|
const cmd: SubCommand = async (interaction) => {
|
||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user