Moved to esm

Signed-off-by: Taken <taken@mairimashita.org>
This commit is contained in:
2024-08-23 17:59:00 +02:00
parent 31b88396ea
commit 3f7f23d4b3
123 changed files with 575 additions and 510 deletions

2
.swcrc
View File

@@ -22,7 +22,7 @@
} }
}, },
"module": { "module": {
"type": "commonjs", "type": "es6",
"strict": true, "strict": true,
"strictMode": true, "strictMode": true,
"noInterop": false, "noInterop": false,

View File

@@ -4,6 +4,7 @@
"version": "1.0.0", "version": "1.0.0",
"description": "", "description": "",
"main": "src/index.ts", "main": "src/index.ts",
"type": "module",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://gitlab.com/illegitimate/illegitimate-bot" "url": "https://gitlab.com/illegitimate/illegitimate-bot"

View File

@@ -1,7 +1,7 @@
import { ContextMenuCommandBuilder, ApplicationCommandType, PermissionFlagsBits, userMention } from "discord.js" import { ContextMenuCommandBuilder, ApplicationCommandType, PermissionFlagsBits, userMention } from "discord.js"
import { IContextMenu } from "interfaces" import { IContextMenu } from "interfaces"
export = { export default {
name: "congratsmessage", name: "congratsmessage",
description: "Congratulate a user.", description: "Congratulate a user.",
dev: false, dev: false,

View File

@@ -1,7 +1,7 @@
import { ContextMenuCommandBuilder, ApplicationCommandType, PermissionFlagsBits } from "discord.js" import { ContextMenuCommandBuilder, ApplicationCommandType, PermissionFlagsBits } from "discord.js"
import { IContextMenu } from "interfaces" import { IContextMenu } from "interfaces"
export = { export default {
name: "resetnick", name: "resetnick",
description: "Reset your nickname.", description: "Reset your nickname.",
dev: false, dev: false,

View File

@@ -1,12 +1,12 @@
import { ApplicationCommandType, ContextMenuCommandBuilder, PermissionFlagsBits, userMention } from "discord.js" import { ApplicationCommandType, ContextMenuCommandBuilder, PermissionFlagsBits, userMention } from "discord.js"
import { embedColor, devMessage, hypixelGuildID } from "config/options" import { embedColor, devMessage, hypixelGuildID } from "config/options.js"
import { IContextMenu } from "interfaces" import { IContextMenu } from "interfaces"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { getGuild, getHeadURL, getIGN } from "utils/Hypixel" import { getGuild, getHeadURL, getIGN } from "utils/Hypixel.js"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
import { waitingListRole } from "config/roles" import { waitingListRole } from "config/roles.js"
export = { export default {
name: "Update User", name: "Update User",
description: "Updates a user's roles", description: "Updates a user's roles",
dev: false, dev: false,

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import { devMessage, embedColor } from "config/options" import { devMessage, embedColor } from "config/options.js"
import { anilist } from "anilist" import { anilist } from "anilist"
import { capitalizeFirstLetter, removeIndents } from "utils/functions/funcs" import { capitalizeFirstLetter, removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "anime", name: "anime",
description: "Anime subcommands", description: "Anime subcommands",
public: true, public: true,

View File

@@ -1,11 +1,11 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember, } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember, } from "discord.js"
import { admin, helper } from "config/roles" import { admin, helper } from "config/roles.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "ban", name: "ban",
description: "Ban a user", description: "Ban a user",
dev: false, dev: false,

View File

@@ -1,12 +1,16 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import os from "os" import os from "os"
import prettyMs from "pretty-ms"
import { execSync } from "child_process" import { execSync } from "child_process"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
import { createRequire } from "node:module"
const require = createRequire(import.meta.url)
const { dependencies, devDependencies } = require("../../package.json") const { dependencies, devDependencies } = require("../../package.json")
export = { export default {
name: "botinfo", name: "botinfo",
description: "Get information about the bot", description: "Get information about the bot",
dev: false, dev: false,
@@ -18,7 +22,6 @@ export = {
.setDMPermission(false), .setDMPermission(false),
async execute({ interaction, client }) { async execute({ interaction, client }) {
const { default: prettyMs } = await import("pretty-ms")
const castedDeps = dependencies as { [key: string]: string } const castedDeps = dependencies as { [key: string]: string }
const castedDevDeps = devDependencies as { [key: string]: string } const castedDevDeps = devDependencies as { [key: string]: string }
let osInfo: string let osInfo: string

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { bwfkdr, bwstars, bwwins, swstars, swkdr, duelswins, duelswlr } from "config/reqs" import { bwfkdr, bwstars, bwwins, swstars, swkdr, duelswins, duelswlr } from "config/reqs.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { hypixelLevel, bedwarsLevel, skywarsLevel, getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel" import { hypixelLevel, bedwarsLevel, skywarsLevel, getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "check", name: "check",
description: "Check a player's stats.", description: "Check a player's stats.",
dev: false, dev: false,

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder, PermissionFlagsBits, TextChannel, channelMention, userMention } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, TextChannel, channelMention, userMention } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "clear", name: "clear",
description: "Clears messages", description: "Clears messages",
dev: false, dev: false,

View File

@@ -1,9 +1,9 @@
import { SlashCommandBuilder, PermissionFlagsBits } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import settings from "schemas/settingsTag" import settings from "schemas/settingsTag.js"
export = { export default {
name: "config", name: "config",
description: "Configure the bot", description: "Configure the bot",
dev: false, dev: false,

View File

@@ -1,10 +1,10 @@
import { PermissionFlagsBits, SlashCommandBuilder } from "discord.js" import { PermissionFlagsBits, SlashCommandBuilder } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import ban from "./counting/ban" import ban from "./counting/ban.js"
import unban from "./counting/unban" import unban from "./counting/unban.js"
export = { export default {
name: "counting", name: "counting",
description: "counting subcommands", description: "counting subcommands",
dev: false, dev: false,

View File

@@ -1,6 +1,6 @@
import { ChatInputCommandInteraction, GuildMember, userMention } from "discord.js" import { ChatInputCommandInteraction, GuildMember, userMention } from "discord.js"
import { countingBanned } from "config/roles" import { countingBanned } from "config/roles.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
export default async function ban(interaction: ChatInputCommandInteraction): Promise<void> { export default async function ban(interaction: ChatInputCommandInteraction): Promise<void> {
const member = interaction.options.getMember("user")! as GuildMember const member = interaction.options.getMember("user")! as GuildMember

View File

@@ -1,6 +1,6 @@
import { ChatInputCommandInteraction, GuildMember, userMention } from "discord.js" import { ChatInputCommandInteraction, GuildMember, userMention } from "discord.js"
import { countingBanned } from "config/roles" import { countingBanned } from "config/roles.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
export default async function ban(interaction: ChatInputCommandInteraction): Promise<void> { export default async function ban(interaction: ChatInputCommandInteraction): Promise<void> {
const member = interaction.options.getMember("user")! as GuildMember const member = interaction.options.getMember("user")! as GuildMember

View File

@@ -1,10 +1,10 @@
import { devMessage, embedColor } from "config/options" import { devMessage, embedColor } from "config/options.js"
import { PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js" import { PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { getHeadURL, getIGN, getUUID } from "utils/Hypixel" import { getHeadURL, getIGN, getUUID } from "utils/Hypixel.js"
export = { export default {
name: "find", name: "find",
description: "Find a person by the ign", description: "Find a person by the ign",
dev: false, dev: false,

View File

@@ -1,13 +1,13 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { getIGN } from "utils/Hypixel" import { getIGN } from "utils/Hypixel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "forceunverify", name: "forceunverify",
description: "Force unverify a user", description: "Force unverify a user",
dev: false, dev: false,

View File

@@ -1,13 +1,13 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
import { getGuild, getHeadURL, getIGN } from "utils/Hypixel" import { getGuild, getHeadURL, getIGN } from "utils/Hypixel.js"
import { hypixelGuildID, embedColor, devMessage } from "config/options" import { hypixelGuildID, embedColor, devMessage } from "config/options.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
import { waitingListRole } from "config/roles" import { waitingListRole } from "config/roles.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "forceupdate", name: "forceupdate",
description: "Force update the user", description: "Force update the user",
dev: false, dev: false,

View File

@@ -1,13 +1,13 @@
import { SlashCommandBuilder, PermissionFlagsBits, GuildMember, userMention } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, GuildMember, userMention } from "discord.js"
import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel" import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel.js"
import { embedColor, hypixelGuildID, devMessage } from "config/options" import { embedColor, hypixelGuildID, devMessage } from "config/options.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "forceverify", name: "forceverify",
description: "Force verify a user.", description: "Force verify a user.",
dev: false, dev: false,

View File

@@ -1,11 +1,11 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import guildMember from "./guild/member" import guildMember from "./guild/member.js"
import guildInfo from "./guild/info" import guildInfo from "./guild/info.js"
import guildTop from "./guild/top" import guildTop from "./guild/top.js"
export = { export default {
name: "guild", name: "guild",
description: "Subcommands for guilds", description: "Subcommands for guilds",
dev: false, dev: false,

View File

@@ -1,5 +1,5 @@
import { getUUID, getIGN, getPlayer, getGuild, guildLevel } from "utils/Hypixel" import { getUUID, getIGN, getPlayer, getGuild, guildLevel } from "utils/Hypixel.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"
import { IGuildData } from "interfaces" import { IGuildData } from "interfaces"

View File

@@ -1,5 +1,5 @@
import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel" import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"
export default async function guildMember(interaction: ChatInputCommandInteraction): Promise<void> { export default async function guildMember(interaction: ChatInputCommandInteraction): Promise<void> {

View File

@@ -1,8 +1,8 @@
import { getUUID, getPlayer, getGuild, getIGN } from "utils/Hypixel" import { getUUID, getPlayer, getGuild, getIGN } from "utils/Hypixel.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ChannelType, ChatInputCommandInteraction } from "discord.js" import { ChannelType, ChatInputCommandInteraction } from "discord.js"
import { IGuildData } from "interfaces" import { IGuildData } from "interfaces"
import { redis } from "utils/Illegitimate" import { redis } from "utils/Illegitimate.js"
export default async function guildTop(interaction: ChatInputCommandInteraction): Promise<void> { export default async function guildTop(interaction: ChatInputCommandInteraction): Promise<void> {
await interaction.deferReply() await interaction.deferReply()

View File

@@ -1,8 +1,8 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "help", name: "help",
description: "Help command", description: "Help command",
dev: false, dev: false,

View File

@@ -1,9 +1,9 @@
import { SlashCommandBuilder, PermissionFlagsBits } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits } from "discord.js"
import { embedColor, devMessage, instructionsgif } from "config/options" import { embedColor, devMessage, instructionsgif } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "instructions", name: "instructions",
description: "Instructions for verification", description: "Instructions for verification",
dev: false, dev: false,

View File

@@ -1,11 +1,11 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
import { admin, helper } from "config/roles" import { admin, helper } from "config/roles.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "kick", name: "kick",
description: "Kick a member from the server.", description: "Kick a member from the server.",
dev: false, dev: false,

View File

@@ -1,15 +1,15 @@
import { PermissionFlagsBits, SlashCommandBuilder } from "discord.js" import { PermissionFlagsBits, SlashCommandBuilder } from "discord.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import play from "./music/play" import play from "./music/play.js"
import leave from "./music/leave" import leave from "./music/leave.js"
import queue from "./music/queue" import queue from "./music/queue.js"
import volume from "./music/volume" import volume from "./music/volume.js"
import skip from "./music/skip" import skip from "./music/skip.js"
import nowplaying from "./music/nowplaying" import nowplaying from "./music/nowplaying.js"
import pause from "./music/pause" import pause from "./music/pause.js"
import unpause from "./music/unpause" import unpause from "./music/unpause.js"
export = { export default {
name: "music", name: "music",
description: "Subcommands for music commands", description: "Subcommands for music commands",
dev: true, dev: true,

View File

@@ -1,4 +1,4 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"

View File

@@ -1,7 +1,7 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export default async function nowplaying(interaction: ChatInputCommandInteraction) { export default async function nowplaying(interaction: ChatInputCommandInteraction) {
await interaction.deferReply() await interaction.deferReply()

View File

@@ -1,4 +1,4 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"

View File

@@ -1,4 +1,4 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction, GuildMember } from "discord.js" import { ChatInputCommandInteraction, GuildMember } from "discord.js"

View File

@@ -1,4 +1,4 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"

View File

@@ -1,4 +1,4 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"

View File

@@ -1,4 +1,4 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"

View File

@@ -1,4 +1,4 @@
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { useMainPlayer } from "discord-player" import { useMainPlayer } from "discord-player"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"

View File

@@ -1,8 +1,8 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "ping", name: "ping",
description: "Get the bot's ping.", description: "Get the bot's ping.",
dev: false, dev: false,

View File

@@ -1,9 +1,9 @@
import { SlashCommandBuilder, User } from "discord.js" import { SlashCommandBuilder, User } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import env from "utils/Env" import env from "utils/Env.js"
export = { export default {
name: "pp", name: "pp",
description: "Shows pp size", description: "Shows pp size",
public: true, public: true,

View File

@@ -1,12 +1,12 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import waitinglist from "schemas/waitinglistTag" import waitinglist from "schemas/waitinglistTag.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { waitingListRole } from "config/roles" import { waitingListRole } from "config/roles.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "remove", name: "remove",
description: "Remove a person on the waiting list.", description: "Remove a person on the waiting list.",
dev: false, dev: false,

View File

@@ -1,9 +1,9 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { bwfkdr, bwstars, bwwins, swstars, swkdr, duelswins, duelswlr } from "config/reqs" import { bwfkdr, bwstars, bwwins, swstars, swkdr, duelswins, duelswlr } from "config/reqs.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "reqs", name: "reqs",
description: "Displays the requirements for the guild.", description: "Displays the requirements for the guild.",
dev: false, dev: false,

View File

@@ -1,8 +1,8 @@
import { SlashCommandBuilder, PermissionFlagsBits, ChannelType, TextChannel } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, ChannelType, TextChannel } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "send", name: "send",
description: "Send a message to a channel.", description: "Send a message to a channel.",
dev: false, dev: false,

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "setnick", name: "setnick",
description: "Set your nickname", description: "Set your nickname",
dev: false, dev: false,

View File

@@ -1,8 +1,8 @@
import { SlashCommandBuilder, PermissionFlagsBits, ButtonBuilder, ActionRowBuilder, ButtonStyle, ChannelType, TextChannel } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, ButtonBuilder, ActionRowBuilder, ButtonStyle, ChannelType, TextChannel } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "setup", name: "setup",
description: "Used for setup of the bot.", description: "Used for setup of the bot.",
dev: true, dev: true,

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder, PermissionFlagsBits, ChannelType, TextChannel, channelMention, userMention } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, ChannelType, TextChannel, channelMention, userMention } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "slowmode", name: "slowmode",
description: "Set the slowmode of a channel.", description: "Set the slowmode of a channel.",
dev: false, dev: false,

View File

@@ -1,13 +1,13 @@
import { SlashCommandBuilder, PermissionFlagsBits } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import help from "./staff/help" import help from "./staff/help.js"
import beast from "./staff/beast" import beast from "./staff/beast.js"
import updateAll from "./staff/updateall" import updateAll from "./staff/updateall.js"
import prune from "./staff/prune" import prune from "./staff/prune.js"
import removeGuildRoles from "./staff/removeguildroles" import removeGuildRoles from "./staff/removeguildroles.js"
export = { export default {
name: "staff", name: "staff",
description: "Subcommands for staff", description: "Subcommands for staff",
dev: false, dev: false,

View File

@@ -1,6 +1,6 @@
import { bwwins, beastbwfkdr, beastbwstars, beastswkdr, beastswstars, beastduelswins, duelswlr } from "config/reqs" import { bwwins, beastbwfkdr, beastbwstars, beastswkdr, beastswstars, beastduelswins, duelswlr } from "config/reqs.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { hypixelLevel, bedwarsLevel, skywarsLevel, getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel" import { hypixelLevel, bedwarsLevel, skywarsLevel, getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel.js"
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"
export default async function beast(interaction: ChatInputCommandInteraction): Promise<void> { export default async function beast(interaction: ChatInputCommandInteraction): Promise<void> {

View File

@@ -1,6 +1,6 @@
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ExtendedClient as Client } from "utils/Client" import { ExtendedClient as Client } from "utils/Client.js"
export default async function help(interaction: ChatInputCommandInteraction, client: Client): Promise<void> { export default async function help(interaction: ChatInputCommandInteraction, client: Client): Promise<void> {
await interaction.deferReply({ ephemeral: true }) await interaction.deferReply({ ephemeral: true })

View File

@@ -1,6 +1,6 @@
import { ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, ChatInputCommandInteraction, ComponentType } from "discord.js" import { ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, ChatInputCommandInteraction, ComponentType } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import env from "utils/Env" import env from "utils/Env.js"
export default async function prune(interaction: ChatInputCommandInteraction): Promise<void> { export default async function prune(interaction: ChatInputCommandInteraction): Promise<void> {
await interaction.deferReply() await interaction.deferReply()

View File

@@ -1,10 +1,10 @@
import { embedColor, hypixelGuildID } from "config/options" import { embedColor, hypixelGuildID } from "config/options.js"
import { ChatInputCommandInteraction, GuildMember } from "discord.js" import { ChatInputCommandInteraction, GuildMember } from "discord.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { IGuildData } from "interfaces" import { IGuildData } from "interfaces"
import env from "utils/Env" import env from "utils/Env.js"
import { getGuild } from "utils/Hypixel" import { getGuild } from "utils/Hypixel.js"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
export default async function removeGuildRoles(interaction: ChatInputCommandInteraction): Promise<void> { export default async function removeGuildRoles(interaction: ChatInputCommandInteraction): Promise<void> {
await interaction.deferReply() await interaction.deferReply()

View File

@@ -1,10 +1,10 @@
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { embedColor, hypixelGuildID } from "config/options" import { embedColor, hypixelGuildID } from "config/options.js"
import color from "utils/functions/colors" import color from "utils/functions/colors.js"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
import { ChatInputCommandInteraction, GuildMember } from "discord.js" import { ChatInputCommandInteraction, GuildMember } from "discord.js"
import env from "utils/Env" import env from "utils/Env.js"
import { getGuild, getIGN } from "utils/Hypixel" import { getGuild, getIGN } from "utils/Hypixel.js"
import { IGuildData } from "interfaces" import { IGuildData } from "interfaces"
export default async function updateAll(interaction: ChatInputCommandInteraction): Promise<void> { export default async function updateAll(interaction: ChatInputCommandInteraction): Promise<void> {

View File

@@ -1,11 +1,12 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, GuildMember } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import ms from "ms" import ms from "ms"
import logToChannel from "utils/functions/logtochannel" import prettyMs from "pretty-ms"
import { removeIndents } from "utils/functions/funcs" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "timeout", name: "timeout",
description: "Times out a memeber", description: "Times out a memeber",
dev: false, dev: false,
@@ -42,7 +43,17 @@ export = {
const reason = interaction.options.getString("reason") || "No reason provided" const reason = interaction.options.getString("reason") || "No reason provided"
const mod = interaction.member! as GuildMember const mod = interaction.member! as GuildMember
const time = ms(timeString) const time = ms(timeString)
const { default: prettyMs } = await import("pretty-ms")
if (!time) {
await interaction.editReply({
embeds: [{
description: "There was an error parsing the time.",
color: embedColor
}]
})
return
}
const prettyTime = prettyMs(time, { verbose: true }) const prettyTime = prettyMs(time, { verbose: true })
if (time > 2419140000) { if (time > 2419140000) {

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention, User } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention, User } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "unban", name: "unban",
description: "Unban a user from the server", description: "Unban a user from the server",
dev: false, dev: false,

View File

@@ -1,13 +1,13 @@
import { GuildMember, SlashCommandBuilder } from "discord.js" import { GuildMember, SlashCommandBuilder } from "discord.js"
import { getGuild, getIGN, getHeadURL } from "utils/Hypixel" import { getGuild, getIGN, getHeadURL } from "utils/Hypixel.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { embedColor, hypixelGuildID, devMessage } from "config/options" import { embedColor, hypixelGuildID, devMessage } from "config/options.js"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import { waitingListRole } from "config/roles" import { waitingListRole } from "config/roles.js"
import { removeIndents } from "utils/functions/funcs" import { removeIndents } from "utils/functions/funcs.js"
export = { export default {
name: "update", name: "update",
description: "Update your guild rank.", description: "Update your guild rank.",
dev: false, dev: false,

View File

@@ -1,9 +1,9 @@
import { SlashCommandBuilder } from "discord.js" import { SlashCommandBuilder } from "discord.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import { getUUID, getIGN, getHeadURL, formatUuid } from "utils/Hypixel" import { getUUID, getIGN, getHeadURL, formatUuid } from "utils/Hypixel.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "uuid", name: "uuid",
description: "Get a player's UUID", description: "Get a player's UUID",
dev: false, dev: false,

View File

@@ -1,13 +1,13 @@
import { GuildMember, SlashCommandBuilder } from "discord.js" import { GuildMember, SlashCommandBuilder } from "discord.js"
import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel" import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel.js"
import { embedColor, hypixelGuildID, devMessage } from "config/options" import { embedColor, hypixelGuildID, devMessage } from "config/options.js"
import roleManage from "utils/functions/rolesmanage" import roleManage from "utils/functions/rolesmanage.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { IPlayerData } from "interfaces" import { IPlayerData } from "interfaces"
import { IGuildData } from "interfaces" import { IGuildData } from "interfaces"
export = { export default {
name: "verify", name: "verify",
description: "Verify yourself as a member of the server.", description: "Verify yourself as a member of the server.",
dev: false, dev: false,

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder, userMention } from "discord.js" import { SlashCommandBuilder, userMention } from "discord.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { getIGN, getHeadURL } from "utils/Hypixel" import { getIGN, getHeadURL } from "utils/Hypixel.js"
export = { export default {
name: "whoami", name: "whoami",
description: "Get your user info", description: "Get your user info",
public: true, public: true,

View File

@@ -1,10 +1,10 @@
import { SlashCommandBuilder, PermissionFlagsBits, userMention } from "discord.js" import { SlashCommandBuilder, PermissionFlagsBits, userMention } from "discord.js"
import { getIGN, getHeadURL } from "utils/Hypixel" import { getIGN, getHeadURL } from "utils/Hypixel.js"
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
export = { export default {
name: "whois", name: "whois",
description: "Get's the ign of a user.", description: "Get's the ign of a user.",
dev: false, dev: false,

View File

@@ -1,7 +1,7 @@
import { QueryType, useMainPlayer } from "discord-player" import { QueryType, useMainPlayer } from "discord-player"
import { IAutocomplete } from "interfaces" import { IAutocomplete } from "interfaces"
export = { export default {
name: "music", name: "music",
description: "Music", description: "Music",

View File

@@ -1,6 +1,6 @@
import { IAutocomplete } from "interfaces" import { IAutocomplete } from "interfaces"
export = { export default {
name: "unban", name: "unban",
description: "Unban a user from the server", description: "Unban a user from the server",

View File

@@ -1,10 +1,10 @@
import { embedColor, devMessage } from "config/options" import { embedColor, devMessage } from "config/options.js"
import guildapp from "schemas/guildAppTag" import guildapp from "schemas/guildAppTag.js"
import { bwfkdr, bwstars, bwwins, swstars, swkdr, duelswins, duelswlr } from "config/reqs" import { bwfkdr, bwstars, bwwins, swstars, swkdr, duelswins, duelswlr } from "config/reqs.js"
import { hypixelLevel, bedwarsLevel, skywarsLevel, getPlayer, getGuild, getHeadURL } from "utils/Hypixel" import { hypixelLevel, bedwarsLevel, skywarsLevel, getPlayer, getGuild, getHeadURL } from "utils/Hypixel.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "checkstats", name: "checkstats",
description: "Check your stats.", description: "Check your stats.",

View File

@@ -1,13 +1,13 @@
import { ActionRowBuilder, ButtonStyle, ButtonBuilder, TextChannel } from "discord.js" import { ActionRowBuilder, ButtonStyle, ButtonBuilder, TextChannel } from "discord.js"
import { embedColor, waitingListChannel, waitingListMessage, hypixelGuildID } from "config/options" import { embedColor, waitingListChannel, waitingListMessage, hypixelGuildID } from "config/options.js"
import color from "utils/functions/colors" import color from "utils/functions/colors.js"
import guildapp from "schemas/guildAppTag" import guildapp from "schemas/guildAppTag.js"
import waitingList from "schemas/waitinglistTag" import waitingList from "schemas/waitinglistTag.js"
import { waitingListRole } from "config/roles" import { waitingListRole } from "config/roles.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
import { getGuild, getIGN } from "utils/Hypixel" import { getGuild, getIGN } from "utils/Hypixel.js"
export = { export default {
name: "guildapplicationaccept", name: "guildapplicationaccept",
description: "Accept a guild application.", description: "Accept a guild application.",

View File

@@ -1,7 +1,7 @@
import { ModalBuilder, ActionRowBuilder, TextInputBuilder, TextInputStyle } from "discord.js" import { ModalBuilder, ActionRowBuilder, TextInputBuilder, TextInputStyle } from "discord.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "guildapplicationdeny", name: "guildapplicationdeny",
description: "Deny a guild application.", description: "Deny a guild application.",

View File

@@ -1,13 +1,13 @@
import { ButtonBuilder, ButtonStyle, ActionRowBuilder, GuildMember, TextChannel } from "discord.js" import { ButtonBuilder, ButtonStyle, ActionRowBuilder, GuildMember, TextChannel } from "discord.js"
import { embedColor, applicationsChannel } from "config/options" import { embedColor, applicationsChannel } from "config/options.js"
import { largeM, smallM, ignM } from "config/limitmessages" import { largeM, smallM, ignM } from "config/limitmessages.js"
import questions from "config/questions" import { guild as guildQuestions } from "config/questions.js"
import { guildRole } from "config/roles" import { guildRole } from "config/roles.js"
import guildapp from "schemas/guildAppTag" import guildapp from "schemas/guildAppTag.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
import applicationQuestions from "utils/functions/applicationquestions" import applicationQuestions from "utils/functions/applicationquestions.js"
export = { export default {
name: "guildapply", name: "guildapply",
description: "Guild application button.", description: "Guild application button.",
@@ -16,7 +16,6 @@ export = {
const user = interaction.member as GuildMember const user = interaction.member as GuildMember
const guild = interaction.guild! const guild = interaction.guild!
const userRoles = user.roles.cache.map(role => role.id) const userRoles = user.roles.cache.map(role => role.id)
const guildQuestions = questions.guild
function qu(n: number): string { function qu(n: number): string {
return guildQuestions[n - 1].q return guildQuestions[n - 1].q

View File

@@ -1,13 +1,13 @@
import { ButtonBuilder, ActionRowBuilder, ButtonStyle, GuildMember, TextChannel } from "discord.js" import { ButtonBuilder, ActionRowBuilder, ButtonStyle, GuildMember, TextChannel } from "discord.js"
import { gm, manager, moderator, beast, member, guildStaff, guildRole } from "config/roles" import { gm, manager, moderator, beast, member, guildStaff, guildRole } from "config/roles.js"
import { ignM, smallM, largeM } from "config/limitmessages" import { ignM, smallM, largeM } from "config/limitmessages.js"
import { inactivity } from "config/questions" import { inactivity } from "config/questions.js"
import { embedColor, inactivityLogChannel } from "config/options" import { embedColor, inactivityLogChannel } from "config/options.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
import applicationQuestions from "utils/functions/applicationquestions" import applicationQuestions from "utils/functions/applicationquestions.js"
const guildRoles = [gm, manager, moderator, beast, member, guildStaff, guildRole] const guildRoles = [gm, manager, moderator, beast, member, guildStaff, guildRole]
export = { export default {
name: "guildinactivitylog", name: "guildinactivitylog",
description: "Configure the bot.", description: "Configure the bot.",

View File

@@ -1,6 +1,6 @@
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "inactiveapplicationaccept", name: "inactiveapplicationaccept",
description: "Accept an inactivity application.", description: "Accept an inactivity application.",

View File

@@ -1,6 +1,6 @@
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "inactiveapplicationdeny", name: "inactiveapplicationdeny",
description: "Denies an inactivity application.", description: "Denies an inactivity application.",

View File

@@ -1,9 +1,9 @@
import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js" import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import staffapp from "schemas/staffAppTag" import staffapp from "schemas/staffAppTag.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "staffapplicationaccept", name: "staffapplicationaccept",
description: "Accept a staff application.", description: "Accept a staff application.",

View File

@@ -1,7 +1,7 @@
import { ModalBuilder, ActionRowBuilder, TextInputBuilder, TextInputStyle } from "discord.js" import { ModalBuilder, ActionRowBuilder, TextInputBuilder, TextInputStyle } from "discord.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "staffapplicationdeny", name: "staffapplicationdeny",
description: "Deny a guild application.", description: "Deny a guild application.",

View File

@@ -1,15 +1,15 @@
import { ButtonBuilder, ButtonStyle, ActionRowBuilder, GuildMember, TextChannel } from "discord.js" import { ButtonBuilder, ButtonStyle, ActionRowBuilder, GuildMember, TextChannel } from "discord.js"
import { embedColor, staffApplicationsChannel } from "config/options" import { embedColor, staffApplicationsChannel } from "config/options.js"
import { largeM, ignM } from "config/limitmessages" import { largeM, ignM } from "config/limitmessages.js"
import questions from "config/questions" import { staff as staffQuestions } from "config/questions.js"
import { guildRole, guildStaff } from "config/roles" import { guildRole, guildStaff } from "config/roles.js"
import staffapp from "schemas/staffAppTag" import staffapp from "schemas/staffAppTag.js"
import settings from "schemas/settingsTag" import settings from "schemas/settingsTag.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
import env from "utils/Env" import env from "utils/Env.js"
import applicationQuestions from "utils/functions/applicationquestions" import applicationQuestions from "utils/functions/applicationquestions.js"
export = { export default {
name: "staffapply", name: "staffapply",
description: "Apply for the staff team.", description: "Apply for the staff team.",
@@ -19,7 +19,6 @@ export = {
const userRoles = user.roles.cache const userRoles = user.roles.cache
const setting = await settings.findOne({ where: { name: "staffAppStatus" } }) const setting = await settings.findOne({ where: { name: "staffAppStatus" } })
const status = setting?.value || "0" const status = setting?.value || "0"
const staffQuestions = questions.staff
function sq(n: number): string { function sq(n: number): string {
return staffQuestions[n - 1].q return staffQuestions[n - 1].q

View File

@@ -1,7 +1,7 @@
import { ModalBuilder, ActionRowBuilder, TextInputBuilder, TextInputStyle } from "discord.js" import { ModalBuilder, ActionRowBuilder, TextInputBuilder, TextInputStyle } from "discord.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "verify", name: "verify",
description: "Configure the bot.", description: "Configure the bot.",

View File

@@ -1,9 +1,9 @@
import waitinglist from "schemas/waitinglistTag" import waitinglist from "schemas/waitinglistTag.js"
import { getGuild, getIGN } from "utils/Hypixel" import { getGuild, getIGN } from "utils/Hypixel.js"
import { hypixelGuildID } from "config/options" import { hypixelGuildID } from "config/options.js"
import { IButton } from "interfaces" import { IButton } from "interfaces"
export = { export default {
name: "waitinglistupdate", name: "waitinglistupdate",
description: "Update the waiting list.", description: "Update the waiting list.",

View File

@@ -1,9 +1,9 @@
import { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, Message, GuildMember } from "discord.js" import { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle, Message, GuildMember } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import guildapp from "schemas/guildAppTag" import guildapp from "schemas/guildAppTag.js"
import { IModal } from "interfaces" import { IModal } from "interfaces"
export = { export default {
name: "denyreasonbox", name: "denyreasonbox",
description: "Deny reason box.", description: "Deny reason box.",

View File

@@ -1,9 +1,9 @@
import { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js" import { EmbedBuilder, ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import staffapp from "schemas/staffAppTag" import staffapp from "schemas/staffAppTag.js"
import { IModal } from "interfaces" import { IModal } from "interfaces"
export = { export default {
name: "staffdenyreasonbox", name: "staffdenyreasonbox",
description: "Deny reason box.", description: "Deny reason box.",

View File

@@ -1,11 +1,11 @@
import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel" import { getUUID, getPlayer, getGuild, getHeadURL } from "utils/Hypixel.js"
import { embedColor, hypixelGuildID, devMessage } from "config/options" import { embedColor, hypixelGuildID, devMessage } from "config/options.js"
import verify from "schemas/verifyTag" import verify from "schemas/verifyTag.js"
import { gm, manager, moderator, beast, elite, member, guildRole, guildStaff, defaultMember } from "config/roles" import { gm, manager, moderator, beast, elite, member, guildRole, guildStaff, defaultMember } from "config/roles.js"
import { IModal } from "interfaces" import { IModal } from "interfaces"
import { GuildMember } from "discord.js" import { GuildMember } from "discord.js"
export = { export default {
name: "verifybox", name: "verifybox",
description: "Verify box.", description: "Verify box.",

View File

@@ -1,6 +1,5 @@
const limitMessages = { const largeM = "(256 characters max)"
largeM: "(256 characters max)", const smallM = "(128 characters max)"
smallM: "(128 characters max)", const ignM = "(16 characters max)"
ignM: "(16 characters max)"
} export { largeM, smallM, ignM }
export = limitMessages

View File

@@ -1,20 +1,37 @@
const options = { const embedColor = 0xeeaadb
embedColor: 0xeeaadb, const guildid = "481741000365178881"
guildid: "481741000365178881", const devMessage = "Developed by taken.lua"
devMessage: "Developed by taken.lua", const applicationsChannel = "776705352456470550"
applicationsChannel: "776705352456470550", const staffApplicationsChannel = "1039258641393520700"
staffApplicationsChannel: "1039258641393520700", const inactivityLogChannel = "829742524796239882"
inactivityLogChannel: "829742524796239882", const staffOtherChannel = "1082036748558803104"
staffOtherChannel: "1082036748558803104", const hypixelGuildID = "5a353a170cf2e529044f2935"
hypixelGuildID: "5a353a170cf2e529044f2935", const onlineLogChannel = "1101144489306886226"
onlineLogChannel: "1101144489306886226", const botLogChannel = "1174403585149243472"
botLogChannel: "1174403585149243472", const guildLogChannel = "1183733282534326322"
guildLogChannel: "1183733282534326322", const errorLogChannel = "1192476369850994788"
errorLogChannel: "1192476369850994788", const moderationLogChannel = "1193329771795447818"
moderationLogChannel: "1193329771795447818", const devLogChannel = "1193688673632391280"
devLogChannel: "1193688673632391280", const waitingListChannel = "1145773618291298384"
waitingListChannel: "1145773618291298384", const waitingListMessage = "1146027645415473193"
waitingListMessage: "1146027645415473193", const instructionsgif = "https =//cdn.discordapp.com/attachments/838716950723952640/1188211176300089384/4DMu513uNxbM.gif?ex=6599b2e4&is=65873de4&hm=e727c7a39aacbc47d6a5453f4b5f792a45679983c30d662cd258a311381b6df0&"
instructionsgif: "https://cdn.discordapp.com/attachments/838716950723952640/1188211176300089384/4DMu513uNxbM.gif?ex=6599b2e4&is=65873de4&hm=e727c7a39aacbc47d6a5453f4b5f792a45679983c30d662cd258a311381b6df0&"
} export {
export = options embedColor,
guildid,
devMessage,
applicationsChannel,
staffApplicationsChannel,
inactivityLogChannel,
staffOtherChannel,
hypixelGuildID,
onlineLogChannel,
botLogChannel,
guildLogChannel,
errorLogChannel,
moderationLogChannel,
devLogChannel,
waitingListChannel,
waitingListMessage,
instructionsgif
}

View File

@@ -1,77 +1,76 @@
const question = { const guild = [
guild: [ {
{ q: "What is your IGN?",
q: "What is your IGN?", r: "What is your IGN?"
r: "What is your IGN?" },
}, {
{ q: "What is your hypixel Network Level?",
q: "What is your hypixel Network Level?", r: "What is your hypixel Network Level?"
r: "What is your hypixel Network Level?" },
}, {
{ q: "What stats are you submitting? (ex. BW lv 135 or SW lv 12 etc..)? Please provide us your best stats of the gamemode you main the most.",
q: "What stats are you submitting? (ex. BW lv 135 or SW lv 12 etc..)? Please provide us your best stats of the gamemode you main the most.", r: "What stats are you submitting?"
r: "What stats are you submitting?" },
}, {
{ q: "Which talents make you a good member for Illegitimate? Tell us about your accomplishments, hobbies and ambitions both on Hypixel and in real life.",
q: "Which talents make you a good member for Illegitimate? Tell us about your accomplishments, hobbies and ambitions both on Hypixel and in real life.", r: "Which talents make you a good member for Illegitimate?"
r: "Which talents make you a good member for Illegitimate?" },
}, {
{ q: "Will you be able to make from 100k to 150k gexp x week?",
q: "Will you be able to make from 100k to 150k gexp x week?", r: "Will you be able to make from 100k to 150k gexp x week?"
r: "Will you be able to make from 100k to 150k gexp x week?" },
}, {
{ q: "Tell us about: your age, what you expect to gain from Illegitimate, whether you play on other accounts; if you often will be inactive; your punishment history; etc… This section is all yours and we expect a longer answer.",
q: "Tell us about: your age, what you expect to gain from Illegitimate, whether you play on other accounts; if you often will be inactive; your punishment history; etc… This section is all yours and we expect a longer answer.", r: "Tell us about yourself."
r: "Tell us about yourself." },
}, {
{ q: "How did you find about us? (Yt, advertisement in lobbies, friend..)",
q: "How did you find about us? (Yt, advertisement in lobbies, friend..)", r: "How did you find about us?"
r: "How did you find about us?" },
}, {
{ q: "What is your time zone? (Example: GMT+1)",
q: "What is your time zone? (Example: GMT+1)", r: "What is your time zone?"
r: "What is your time zone?" }
} ]
], const staff = [
staff: [ {
{ q: "What is your IGN?",
q: "What is your IGN?", r: "What is your IGN?"
r: "What is your IGN?" },
}, {
{ q: "How long have you been in the guild for?",
q: "How long have you been in the guild for?", r: "How long have you been in the guild for?"
r: "How long have you been in the guild for?" },
}, {
{ q: "Have you been guild muted for any reason? (This includes mutes for staff disrespect, arguing with guild members, toxicity...)",
q: "Have you been guild muted for any reason? (This includes mutes for staff disrespect, arguing with guild members, toxicity...)", r: "Have you been guild muted for any reason?"
r: "Have you been guild muted for any reason?" },
}, {
{ q: "Are you an active guild member? (Keep in mind we will surely check your GEXP)",
q: "Are you an active guild member? (Keep in mind we will surely check your GEXP)", r: "Are you an active guild member?"
r: "Are you an active guild member?" },
}, {
{ q: "Do you have any experience as a staff member (guild moderator) at all?",
q: "Do you have any experience as a staff member (guild moderator) at all?", r: "Do you have any experience as a staff member (guild moderator) at all?"
r: "Do you have any experience as a staff member (guild moderator) at all?" },
}, {
{ q: "Why should we choose you as a Guild Moderator? (Tell us what would you do for the guild, how are you gonna help us grow the community, how many hours per day are you willing to spend doing the stuff as moderator for the guild etc..",
q: "Why should we choose you as a Guild Moderator? (Tell us what would you do for the guild, how are you gonna help us grow the community, how many hours per day are you willing to spend doing the stuff as moderator for the guild etc..", r: "Why should we choose you as a Guild Moderator?"
r: "Why should we choose you as a Guild Moderator?" }
} ]
], const inactivity = [
inactivity: [ {
{ q: "What is your IGN?",
q: "What is your IGN?", r: "What is your IGN?"
r: "What is your IGN?" },
}, {
{ q: "Duration of the absence?",
q: "Duration of the absence?", r: "Duration of the absence?"
r: "Duration of the absence?" },
}, {
{ q: "Reason of the absence?",
q: "Reason of the absence?", r: "Reason of the absence?"
r: "Reason of the absence?" }
} ]
]
} export { guild, staff, inactivity }
export = question

View File

@@ -1,15 +1,27 @@
const reqs = { const bwstars = 200
bwstars: 200, const bwfkdr = 4
bwfkdr: 4, const bwwins = 1500
bwwins: 1500, const swstars = 15
swstars: 15, const swkdr = 1
swkdr: 1, const duelswins = 6000
duelswins: 6000, const duelswlr = 3
duelswlr: 3, const beastbwstars = 500
beastbwstars: 500, const beastbwfkdr = 7
beastbwfkdr: 7, const beastswstars = 20
beastswstars: 20, const beastswkdr = 2.5
beastswkdr: 2.5, const beastduelswins = 12000
beastduelswins: 12000
} export {
export = reqs bwstars,
bwfkdr,
bwwins,
swstars,
swkdr,
duelswins,
duelswlr,
beastbwstars,
beastbwfkdr,
beastswstars,
beastswkdr,
beastduelswins
}

View File

@@ -1,18 +1,33 @@
const roles = { const gm = "815893218246787080"
gm: "815893218246787080", const manager = "815880752683679824"
manager: "815880752683679824", const moderator = "815880910019887134"
moderator: "815880910019887134", const elite = "1137654165884129310"
elite: "1137654165884129310", const beast = "815880942345519104"
beast: "815880942345519104", const member = "815880984301404190"
member: "815880984301404190", const guildStaff = "1175860041652379718"
guildStaff: "1175860041652379718", const guildRole = "1043224015722000514"
guildRole: "1043224015722000514", const waitingListRole = "1092543315053908120"
waitingListRole: "1092543315053908120", const defaultMember = "722386801930797056"
defaultMember: "722386801930797056", const admin = "528549814846095360"
admin: "528549814846095360", const helper = "592371991294771226"
helper: "592371991294771226", const muted = "594355088932339732"
muted: "594355088932339732", const countingBanned = "1192183486128341072"
countingBanned: "1192183486128341072", const verifyTick = "1201624332674273290"
verifyTick: "1201624332674273290"
} export {
export = roles gm,
manager,
moderator,
elite,
beast,
member,
guildStaff,
guildRole,
waitingListRole,
defaultMember,
admin,
helper,
muted,
countingBanned,
verifyTick
}

View File

@@ -12,4 +12,4 @@ const statuses = [
{ name: "urCryhard steal finals again", type: ActivityType.Watching }, { name: "urCryhard steal finals again", type: ActivityType.Watching },
{ name: "with Perlcence the AI", type: ActivityType.Playing }, { name: "with Perlcence the AI", type: ActivityType.Playing },
] ]
export = statuses export default statuses

View File

@@ -1,8 +1,8 @@
import { hypixelGuildID, guildLogChannel, embedColor, devMessage } from "config/options" import { hypixelGuildID, guildLogChannel, embedColor, devMessage } from "config/options.js"
import color from "utils/functions/colors" import color from "utils/functions/colors.js"
import { getGuild, getIGN } from "utils/Hypixel" import { getGuild, getIGN } from "utils/Hypixel.js"
import { ICron, IGuildData } from "interfaces" import { ICron, IGuildData } from "interfaces"
import { client } from "utils/Illegitimate" import { client } from "utils/Illegitimate.js"
import { TextChannel } from "discord.js" import { TextChannel } from "discord.js"
async function guildWeekly() { async function guildWeekly() {
@@ -86,7 +86,7 @@ async function guildWeekly() {
}) })
} }
export = { export default {
time: { time: {
seconds: 0, seconds: 0,
minutes: 0, minutes: 0,

View File

@@ -1,9 +1,9 @@
import { GuildMember, userMention } from "discord.js" import { GuildMember, userMention } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
export = { export default {
name: "logNewJoins", name: "logNewJoins",
description: "Logs new joins", description: "Logs new joins",
event: "guildMemberAdd", event: "guildMemberAdd",

View File

@@ -1,8 +1,8 @@
import { ChatInputCommandInteraction, ButtonInteraction } from "discord.js" import { ChatInputCommandInteraction, ButtonInteraction } from "discord.js"
import color from "utils/functions/colors" import color from "utils/functions/colors.js"
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
export = { export default {
name: "logBtnsCmds", name: "logBtnsCmds",
description: "Logs all button and command interactions", description: "Logs all button and command interactions",
event: "interactionCreate", event: "interactionCreate",

View File

@@ -1,8 +1,8 @@
import { Message } from "discord.js" import { Message } from "discord.js"
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
import env from "utils/Env" import env from "utils/Env.js"
export = { export default {
name: "eval", name: "eval",
description: "Evaluate a JavaScript expression", description: "Evaluate a JavaScript expression",
event: "messageCreate", event: "messageCreate",

View File

@@ -1,7 +1,7 @@
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
import { Message } from "discord.js" import { Message } from "discord.js"
export = { export default {
name: "ur mom", name: "ur mom",
description: "ur moms someone", description: "ur moms someone",
event: "messageCreate", event: "messageCreate",

View File

@@ -1,8 +1,8 @@
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
import { ExtendedClient as Client } from "utils/Client" import { ExtendedClient as Client } from "utils/Client.js"
import color from "utils/functions/colors" import color from "utils/functions/colors.js"
export = { export default {
name: "conolelog", name: "conolelog",
description: "console log", description: "console log",
event: "ready", event: "ready",

View File

@@ -1,8 +1,8 @@
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
export = { export default {
name: "sendonlinemessage", name: "sendonlinemessage",
description: "send an online message", description: "send an online message",
event: "ready", event: "ready",

View File

@@ -1,10 +1,10 @@
import { guildid } from "config/options" import { guildid } from "config/options.js"
import statuses from "config/statuses" import statuses from "config/statuses.js"
import { Guild } from "discord.js" import { Guild } from "discord.js"
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
import { ExtendedClient as Client } from "utils/Client" import { ExtendedClient as Client } from "utils/Client.js"
export = { export default {
name: "status", name: "status",
description: "Sets the status of the bot", description: "Sets the status of the bot",
event: "ready", event: "ready",

View File

@@ -1,9 +1,9 @@
import { userMention, channelMention, VoiceState } from "discord.js" import { userMention, channelMention, VoiceState } from "discord.js"
import { embedColor } from "config/options" import { embedColor } from "config/options.js"
import { IEvent } from "interfaces" import { IEvent } from "interfaces"
import logToChannel from "utils/functions/logtochannel" import logToChannel from "utils/functions/logtochannel.js"
export = { export default {
name: "vcJoinLeave", name: "vcJoinLeave",
description: "Logs when a user joins or leaves a voice channel.", description: "Logs when a user joins or leaves a voice channel.",
event: "voiceStateUpdate", event: "voiceStateUpdate",

View File

@@ -1,3 +1,3 @@
import { Illegitimate } from "utils/Illegitimate" import { Illegitimate } from "utils/Illegitimate.js"
new Illegitimate().start() new Illegitimate().start()

View File

@@ -1,5 +1,5 @@
import { AutocompleteInteraction } from "discord.js" import { AutocompleteInteraction } from "discord.js"
import { ExtendedClient } from "utils/Client" import { ExtendedClient } from "utils/Client.js"
export default interface IAutocomplete { export default interface IAutocomplete {
name: string name: string

View File

@@ -1,5 +1,5 @@
import { ButtonInteraction } from "discord.js" import { ButtonInteraction } from "discord.js"
import { ExtendedClient } from "utils/Client" import { ExtendedClient } from "utils/Client.js"
export default interface IButton { export default interface IButton {
name: string name: string

View File

@@ -1,5 +1,5 @@
import { ChatInputCommandInteraction, SlashCommandBuilder } from "discord.js" import { ChatInputCommandInteraction, SlashCommandBuilder } from "discord.js"
import { ExtendedClient as Client } from "utils/Client" import { ExtendedClient as Client } from "utils/Client.js"
export default interface ICommand { export default interface ICommand {
name: string name: string

View File

@@ -1,5 +1,5 @@
import { ContextMenuCommandInteraction, ContextMenuCommandBuilder } from "discord.js" import { ContextMenuCommandInteraction, ContextMenuCommandBuilder } from "discord.js"
import { ExtendedClient } from "utils/Client" import { ExtendedClient } from "utils/Client.js"
export default interface IContextMenu { export default interface IContextMenu {
name: string name: string

View File

@@ -1,5 +1,5 @@
import { ModalSubmitInteraction } from "discord.js" import { ModalSubmitInteraction } from "discord.js"
import { ExtendedClient } from "utils/Client" import { ExtendedClient } from "utils/Client.js"
export default interface IModal { export default interface IModal {
name: string name: string

View File

@@ -1,5 +1,5 @@
import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize" import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize"
import { sequelize } from "utils/Illegitimate" import { sequelize } from "utils/Illegitimate.js"
interface GuildApp extends Model<InferAttributes<GuildApp>, InferCreationAttributes<GuildApp>> { interface GuildApp extends Model<InferAttributes<GuildApp>, InferCreationAttributes<GuildApp>> {
userID: string userID: string

View File

@@ -1,5 +1,5 @@
import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize" import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize"
import { sequelize } from "utils/Illegitimate" import { sequelize } from "utils/Illegitimate.js"
interface Settings extends Model<InferAttributes<Settings>, InferCreationAttributes<Settings>> { interface Settings extends Model<InferAttributes<Settings>, InferCreationAttributes<Settings>> {
name: string name: string

View File

@@ -1,5 +1,5 @@
import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize" import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize"
import { sequelize } from "utils/Illegitimate" import { sequelize } from "utils/Illegitimate.js"
interface StaffApp extends Model<InferAttributes<StaffApp>, InferCreationAttributes<StaffApp>> { interface StaffApp extends Model<InferAttributes<StaffApp>, InferCreationAttributes<StaffApp>> {
userID: string userID: string

View File

@@ -1,5 +1,5 @@
import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize" import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize"
import { sequelize } from "utils/Illegitimate" import { sequelize } from "utils/Illegitimate.js"
interface Verify extends Model<InferAttributes<Verify>, InferCreationAttributes<Verify>> { interface Verify extends Model<InferAttributes<Verify>, InferCreationAttributes<Verify>> {
userID: string userID: string

View File

@@ -1,5 +1,5 @@
import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize" import Sequelize, { InferAttributes, InferCreationAttributes, Model } from "sequelize"
import { sequelize } from "utils/Illegitimate" import { sequelize } from "utils/Illegitimate.js"
interface WaitingList extends Model<InferAttributes<WaitingList>, InferCreationAttributes<WaitingList>> { interface WaitingList extends Model<InferAttributes<WaitingList>, InferCreationAttributes<WaitingList>> {
userID: string; userID: string;

View File

@@ -1,5 +1,5 @@
import { ChatInputCommandInteraction } from "discord.js" import { ChatInputCommandInteraction } from "discord.js"
import { ExtendedClient } from "utils/Client" import { ExtendedClient } from "utils/Client.js"
import TZs from "./TimeZones" import TZs from "./TimeZones"
export type TimeZones = typeof TZs[number] export type TimeZones = typeof TZs[number]

View File

@@ -1,9 +1,9 @@
import fs from "fs" import fs from "fs"
import { ExtendedClient } from "./Client" import { ExtendedClient } from "./Client.js"
import env from "./Env" import env from "./Env.js"
import { ICommand } from "interfaces" import { ICommand } from "interfaces"
import { RESTPostAPIChatInputApplicationCommandsJSONBody } from "discord.js" import { RESTPostAPIChatInputApplicationCommandsJSONBody } from "discord.js"
import color from "./functions/colors" import color from "./functions/colors.js"
type FileType = "js" | "ts" type FileType = "js" | "ts"
export default async function autoDeployCommands(fileType: FileType, client: ExtendedClient) { export default async function autoDeployCommands(fileType: FileType, client: ExtendedClient) {
@@ -20,7 +20,9 @@ export default async function autoDeployCommands(fileType: FileType, client: Ext
} }
for (const file of commandFiles) { for (const file of commandFiles) {
const command: ICommand = require(`../commands/${file}`) // const command: ICommand = require(`../commands/${file}`)
const { default: commandImport } = await import(`../commands/${file}`)
const command: ICommand = commandImport
if (command.dev) { if (command.dev) {
commands.push(command.data.toJSON()) commands.push(command.data.toJSON())
} }

Some files were not shown because too many files have changed in this diff Show More