From da962c6c2ebbefa9a710bdf3dce53078bc969bf7 Mon Sep 17 00:00:00 2001 From: DJj123dj <80536295+DJj123dj@users.noreply.github.com> Date: Sun, 16 Nov 2025 11:23:15 +0100 Subject: [PATCH] Major bugfixes & improvements for v4.1 --- package.json | 8 ++++---- src/core/api/modules/plugin.ts | 2 +- src/core/api/modules/responder.ts | 10 +++++----- src/core/cli/quickSetup.ts | 7 ++++++- src/core/startup/init.ts | 2 ++ src/core/startup/migration.ts | 6 +++++- 6 files changed, 23 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index a8dbf80..7e6c462 100644 --- a/package.json +++ b/package.json @@ -25,14 +25,14 @@ "type": "commonjs", "license": "GPL-3.0-only", "dependencies": { - "@discordjs/rest": "^2.4.2", + "@discordjs/rest": "^2.6.0", "@types/node": "^22.5.0", "@types/terminal-kit": "^2.5.7", - "ansis": "^2.3.0", - "discord.js": "^14.22.1", + "ansis": "^4.2.0", + "discord.js": "^14.24.2", "formatted-json-stringify": "^1.2.1", "terminal-kit": "^3.1.2", - "typescript": "^5.5.4" + "typescript": "^5.9.3" }, "repository": { "type": "git", diff --git a/src/core/api/modules/plugin.ts b/src/core/api/modules/plugin.ts index 9a46320..cf0293a 100644 --- a/src/core/api/modules/plugin.ts +++ b/src/core/api/modules/plugin.ts @@ -147,7 +147,7 @@ export class ODPlugin extends ODManagerData { if ((this.enabled && !this.crashed) || force){ try{ //import relative plugin directory path (works on windows & unix based systems) - const pluginPath = nodepath.join("../../../../plugins/",this.getStartFile()) + const pluginPath = nodepath.join("../../../../plugins/",this.getStartFile()).replaceAll("\\","/") await import(pluginPath) debug.console.log("Plugin \""+this.id.value+"\" loaded successfully!","plugin") this.executed = true diff --git a/src/core/api/modules/responder.ts b/src/core/api/modules/responder.ts index 494faa8..dbe78ea 100644 --- a/src/core/api/modules/responder.ts +++ b/src/core/api/modules/responder.ts @@ -417,7 +417,7 @@ export class ODCommandResponderInstance { /**Defer this command. */ async defer(ephemeral:boolean){ if (this.type != "interaction" || !(this.interaction instanceof discord.ChatInputCommandInteraction)) return false - if (this.interaction.deferred) return false + if (this.interaction.deferred || this.interaction.replied) return false const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : [] await this.interaction.deferReply({flags:msgFlags}) this.didReply = true @@ -589,7 +589,7 @@ export class ODButtonResponderInstance { } /**Defer this button. */ async defer(type:"reply"|"update", ephemeral:boolean){ - if (this.interaction.deferred) return false + if (this.interaction.deferred || this.interaction.replied) return false if (type == "reply"){ const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : [] await this.interaction.deferReply({flags:msgFlags}) @@ -877,7 +877,7 @@ export class ODDropdownResponderInstance { } /**Defer this dropdown. */ async defer(type:"reply"|"update", ephemeral:boolean){ - if (this.interaction.deferred) return false + if (this.interaction.deferred || this.interaction.replied) return false if (type == "reply"){ const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : [] await this.interaction.deferReply({flags:msgFlags}) @@ -1096,7 +1096,7 @@ export class ODModalResponderInstance { } /**Defer this modal. */ async defer(type:"reply"|"update", ephemeral:boolean){ - if (this.interaction.deferred) return false + if (this.interaction.deferred || this.interaction.replied) return false if (type == "reply"){ const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : [] await this.interaction.deferReply({flags:msgFlags}) @@ -1251,7 +1251,7 @@ export class ODContextMenuResponderInstance { } /**Defer this context menu. */ async defer(type:"reply", ephemeral:boolean){ - if (this.interaction.deferred) return false + if (this.interaction.deferred || this.interaction.replied) return false if (type == "reply"){ const msgFlags: number[] = ephemeral ? [discord.MessageFlags.Ephemeral] : [] await this.interaction.deferReply({flags:msgFlags}) diff --git a/src/core/cli/quickSetup.ts b/src/core/cli/quickSetup.ts index ef1bdf4..9355a9a 100644 --- a/src/core/cli/quickSetup.ts +++ b/src/core/cli/quickSetup.ts @@ -575,6 +575,11 @@ async function renderQuickSetupTicketCount(backFn:() => api.ODPromiseVoid){ "3️⃣ 3 Ticket Options", "4️⃣ 4 Ticket Options", "5️⃣ 5 Ticket Options", + "6️⃣ 6 Ticket Options", + "7️⃣ 7 Ticket Options", + "8️⃣ 8 Ticket Options", + "9️⃣ 9 Ticket Options", + "🔟 10 Ticket Options", ],{ leftPadding:"> ", style:terminal.cyan, @@ -1208,7 +1213,7 @@ async function saveQuickSetupConfig(){ _INFO:{ support:"https://otdocs.dj-dj.be", discord:"https://discord.dj-dj.be", - version:"open-ticket-v4.0.6" + version:"open-ticket-"+opendiscord.versions.get("opendiscord:version").toString() }, token:quickSetupStorage.client?.token ?? "", diff --git a/src/core/startup/init.ts b/src/core/startup/init.ts index 8287218..18bb6e5 100644 --- a/src/core/startup/init.ts +++ b/src/core/startup/init.ts @@ -47,8 +47,10 @@ opendiscord.debug.debug("Using Node.js "+process.version+"!") try{ const packageJson = JSON.parse(fs.readFileSync("./package.json").toString()) opendiscord.debug.debug("Using discord.js "+packageJson.dependencies["discord.js"]+"!") + opendiscord.debug.debug("Using @discordjs/rest "+packageJson.dependencies["@discordjs/rest"]+"!") opendiscord.debug.debug("Using ansis "+packageJson.dependencies["ansis"]+"!") opendiscord.debug.debug("Using formatted-json-stringify "+packageJson.dependencies["formatted-json-stringify"]+"!") + opendiscord.debug.debug("Using terminal-kit "+packageJson.dependencies["terminal-kit"]+"!") opendiscord.debug.debug("Using typescript "+packageJson.dependencies["typescript"]+"!") }catch{ opendiscord.debug.debug("Failed to fetch module versions!") diff --git a/src/core/startup/migration.ts b/src/core/startup/migration.ts index 2bbc38a..ef25ee8 100644 --- a/src/core/startup/migration.ts +++ b/src/core/startup/migration.ts @@ -134,5 +134,9 @@ export const migrations = [ ticketDatabase.set("opendiscord:ticket",ticket.key,ticketData) } - }) + }), + + //MIGRATE TO v4.1.1 + new utilities.ODVersionMigration(api.ODVersion.fromString("opendiscord:version","v4.1.1"),async () => {},async () => {}), + ] \ No newline at end of file