Merge branch 'dev' into 'main'

Dev

See merge request illegitimate/illegitimate-bot!152
This commit is contained in:
2023-12-31 17:15:38 +00:00
9 changed files with 110 additions and 15 deletions

View File

@@ -9,5 +9,6 @@
"onlineLogChannel": "1101144489306886226",
"botLogChannel": "1174403585149243472",
"guildLogChannel": "1183733282534326322",
"errorLogChannel": "1191051275442339951",
"instructionsgif": "https://cdn.discordapp.com/attachments/838716950723952640/1188211176300089384/4DMu513uNxbM.gif?ex=6599b2e4&is=65873de4&hm=e727c7a39aacbc47d6a5453f4b5f792a45679983c30d662cd258a311381b6df0&"
}

View File

@@ -1,4 +1,4 @@
import { REST, RESTGetAPIApplicationGuildCommandResult, RESTPutAPIApplicationCommandsJSONBody, Routes } from "discord.js"
import { REST, RESTPutAPIApplicationCommandsJSONBody, Routes } from "discord.js"
import fs from "node:fs"
import { Command } from "../src/interfaces"
import env from "../src/utils/Env"
@@ -21,12 +21,14 @@ for (const file of contentMenuCommands) {
try {
console.log(`Started refreshing ${commands.length} application (/) commands.`)
const data = await rest.put(
await rest.put(
Routes.applicationCommands(env.dev.clientid!),
{ body: commands },
) as RESTGetAPIApplicationGuildCommandResult[]
).then(() => {
console.log(`Successfully reloaded ${commands.length} application (/) commands.`)
process.exit(0)
})
console.log(`Successfully reloaded ${data.length} application (/) commands.`)
} catch (error) {
console.error(error)
}

View File

@@ -1,4 +1,4 @@
import { REST, RESTGetAPIApplicationGuildCommandResult, RESTPutAPIApplicationCommandsJSONBody, Routes } from "discord.js"
import { REST, RESTPutAPIApplicationCommandsJSONBody, Routes } from "discord.js"
import fs from "fs"
import env from "../src/utils/Env"
import { Command } from "../src/interfaces"
@@ -25,12 +25,13 @@ for (const file of contentMenuCommands) {
try {
console.log(`Started refreshing ${commands.length} application (/) commands.`)
const data = await rest.put(
await rest.put(
Routes.applicationGuildCommands(env.dev.devid!, env.dev.guildid!),
{ body: commands },
) as RESTGetAPIApplicationGuildCommandResult[]
console.log(`Successfully reloaded ${data.length} application (/) commands.`)
).then(() => {
console.log(`Successfully reloaded ${commands.length} application (/) commands.`)
process.exit(0)
})
} catch (error) {
console.error(error)
}

View File

@@ -9,7 +9,7 @@ export = {
description: "Get your user info",
type: "slash",
public: true,
dev: true,
dev: false,
data: new SlashCommandBuilder()
.setName("whoami")

View File

@@ -1,9 +1,11 @@
import { ExtendedClient as Client } from "../Client"
import { errorLogChannel, color } from "../../../config/options.json"
import { Autocomplete } from "../../interfaces"
import { Events } from "discord.js"
import { Events, GuildTextBasedChannel } from "discord.js"
import path = require("path")
import fs = require("fs")
import { FileType } from "../../typings"
const embedColor = Number(color.replace("#", "0x"))
export default function loadAutocompleteEvents(client: Client, ft: FileType) {
const autocompletePath = path.join(
@@ -49,6 +51,22 @@ export default function loadAutocompleteEvents(client: Client, ft: FileType) {
try {
await autocomplete.execute(interaction)
} catch (error) {
const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel
if (!channel) {
console.log("No error log channel found.")
}
await channel.send({
embeds: [{
title: "Autocomplete error occured",
description: String(error),
color: embedColor,
footer: {
icon_url: interaction.guild!.iconURL({ forceStatic: false })!,
text: interaction.user.username + " | " + interaction.commandName
}
}],
})
console.error(error)
}
})

View File

@@ -1,9 +1,11 @@
import { ExtendedClient as Client } from "../Client"
import { errorLogChannel, color } from "../../../config/options.json"
import { Button } from "../../interfaces"
import { Events } from "discord.js"
import { Events, GuildTextBasedChannel } from "discord.js"
import path = require("path")
import fs = require("fs")
import { FileType } from "../../typings"
const embedColor = Number(color.replace("#", "0x"))
export default function loadButtonEvents(client: Client, ft: FileType) {
const btnPath = path.join(__dirname, "..", "..", "events", "buttons")
@@ -37,6 +39,22 @@ export default function loadButtonEvents(client: Client, ft: FileType) {
try {
await button.execute(interaction)
} catch (error) {
const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel
if (!channel) {
console.log("No error log channel found.")
}
await channel.send({
embeds: [{
title: "Button error occured",
description: String(error),
color: embedColor,
footer: {
icon_url: interaction.guild!.iconURL({ forceStatic: false })!,
text: interaction.user.username + " | " + interaction.customId
}
}],
})
console.error(error)
await interaction.reply({
content: "There was an error while executing this event!",

View File

@@ -1,9 +1,11 @@
import { ExtendedClient as Client } from "../Client"
import { errorLogChannel, color } from "../../../config/options.json"
import { Command } from "../../interfaces"
import { Events } from "discord.js"
import { Events, GuildTextBasedChannel } from "discord.js"
import path = require("path")
import fs = require("fs")
import { FileType } from "../../typings"
const embedColor = Number(color.replace("#", "0x"))
export default function loadSlashCommandsEvents(client: Client, ft: FileType) {
const cmdPath = path.join(__dirname, "..", "..", "commands")
@@ -38,6 +40,23 @@ export default function loadSlashCommandsEvents(client: Client, ft: FileType) {
try {
await command.execute(interaction, client)
} catch (error) {
const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel
if (!channel) {
console.log("No error log channel found.")
}
await channel.send({
embeds: [{
title: "Command error occured",
description: String(error),
color: embedColor,
footer: {
icon_url: interaction.guild!.iconURL({ forceStatic: false })!,
text: interaction.user.username + " | " + interaction.commandName
}
}],
})
console.error(error)
await interaction.reply({
content: "There was an error while executing this command!",

View File

@@ -1,9 +1,11 @@
import { ExtendedClient as Client } from "../Client"
import { ContextMenu } from "../../interfaces"
import { Events } from "discord.js"
import { errorLogChannel, color } from "../../../config/options.json"
import { Events, GuildTextBasedChannel } from "discord.js"
import path = require("path")
import fs = require("fs")
import { FileType } from "../../typings"
const embedColor = Number(color.replace("#", "0x"))
export default function loadContextMenuEvents(client: Client, ft: FileType) {
const contextMenuPath = path.join(
@@ -45,6 +47,22 @@ export default function loadContextMenuEvents(client: Client, ft: FileType) {
try {
await command.execute(interaction)
} catch (error) {
const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel
if (!channel) {
console.log("No error log channel found.")
}
await channel.send({
embeds: [{
title: "Contextmenu error occured",
description: String(error),
color: embedColor,
footer: {
icon_url: interaction.guild!.iconURL({ forceStatic: false })!,
text: interaction.user.username + " | " + interaction.commandName
}
}],
})
console.error(error)
await interaction.reply({
content: "There was an error while executing this command!",

View File

@@ -1,9 +1,11 @@
import { ExtendedClient as Client } from "../Client"
import { errorLogChannel, color } from "../../../config/options.json"
import { Modal } from "../../interfaces"
import { Events } from "discord.js"
import { Events, GuildTextBasedChannel } from "discord.js"
import path = require("path")
import fs = require("fs")
import { FileType } from "../../typings"
const embedColor = Number(color.replace("#", "0x"))
export default function loadModalEvents(client: Client, ft: FileType) {
const modalPath = path.join(__dirname, "..", "..", "events", "modals")
@@ -40,6 +42,22 @@ export default function loadModalEvents(client: Client, ft: FileType) {
await modal.execute(interaction)
} catch (error) {
console.error(error)
const channel = client.channels.cache.get(errorLogChannel) as GuildTextBasedChannel
if (!channel) {
console.log("No error log channel found.")
}
await channel.send({
embeds: [{
title: "Button error occured",
description: String(error),
color: embedColor,
footer: {
icon_url: interaction.guild!.iconURL({ forceStatic: false })!,
text: interaction.user.username + " | " + interaction.customId
}
}],
})
await interaction.reply({
content: "There was an error while executing this modal!",
ephemeral: true,