From cbfd8acddcddd64fc33e7f94a6684afc11e8b646 Mon Sep 17 00:00:00 2001 From: Achira Gaming <86994940+achiragaming@users.noreply.github.com> Date: Tue, 19 Nov 2024 20:24:05 +0530 Subject: [PATCH] up --- package.json | 2 +- src/DamonJs.ts | 9 +++++++++ src/Index.ts | 2 +- src/Managers/DamonJsPlayer.ts | 16 ++++++++++++++++ src/Modules/Interfaces.ts | 4 ++++ 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b00c09e..cb387f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "damonjs", - "version": "1.9.0", + "version": "1.9.1", "preview": false, "description": "A modified Shoukaku wrapper with enhanced queue support.", "main": "dist/Index.js", diff --git a/src/DamonJs.ts b/src/DamonJs.ts index 2c30f0e..e2b9acc 100644 --- a/src/DamonJs.ts +++ b/src/DamonJs.ts @@ -53,6 +53,7 @@ export class DamonJs extends EventEmitter { timeFrame: number; maxhits: number; }; + skip: boolean; }; public trackEndSpam: { rule: { @@ -64,6 +65,7 @@ export class DamonJs extends EventEmitter { timeFrame: number; maxhits: number; }; + skip: boolean; }; /** Stuck config until skip stops */ public stuck: { @@ -76,6 +78,7 @@ export class DamonJs extends EventEmitter { timeFrame: number; maxhits: number; }; + skip: boolean; }; public resolveError: { rule: { @@ -87,7 +90,9 @@ export class DamonJs extends EventEmitter { timeFrame: number; maxhits: number; }; + skip: boolean; }; + /** * Initialize a DamonJs instance. * @param DamonJsOptions DamonJsOptions @@ -105,24 +110,28 @@ export class DamonJs extends EventEmitter { : { rule: { maxhits: 3, timeFrame: 30 * 1000, cooldown: 5 * 1000 }, destroy: { maxhits: 4, timeFrame: 30 * 1000 }, + skip: true, }; this.stuck = this.DamonJsOptions.stuck ? this.DamonJsOptions.stuck : { rule: { maxhits: 3, timeFrame: 30 * 1000, cooldown: 5 * 1000 }, destroy: { maxhits: 4, timeFrame: 30 * 1000 }, + skip: true, }; this.trackEndSpam = this.DamonJsOptions.trackEndSpam ? this.DamonJsOptions.trackEndSpam : { rule: { maxhits: 3, timeFrame: 30 * 1000, cooldown: 5 * 1000 }, destroy: { maxhits: 4, timeFrame: 30 * 1000 }, + skip: true, }; this.resolveError = this.DamonJsOptions.resolveError ? this.DamonJsOptions.resolveError : { rule: { maxhits: 3, timeFrame: 30 * 1000, cooldown: 5 * 1000 }, destroy: { maxhits: 4, timeFrame: 30 * 1000 }, + skip: true, }; if (this.DamonJsOptions.plugins) { diff --git a/src/Index.ts b/src/Index.ts index 32b24d0..306f317 100644 --- a/src/Index.ts +++ b/src/Index.ts @@ -8,4 +8,4 @@ export * from './DamonJs'; export { DamonJsTrack, DamonJsQueue, DamonJsPlayer, Plugins }; export * from './Modules/Interfaces'; -export const version = '1.9.0'; +export const version = '1.9.1'; diff --git a/src/Managers/DamonJsPlayer.ts b/src/Managers/DamonJsPlayer.ts index 54ae891..265f874 100644 --- a/src/Managers/DamonJsPlayer.ts +++ b/src/Managers/DamonJsPlayer.ts @@ -210,6 +210,10 @@ export class DamonJsPlayer { if (!this.queue.current) return; this.isTrackPlaying = false; this.emit(Events.PlayerEnd, this, this.queue.current, data); + if (this.damonjs.trackEndSpam.skip) { + await new Promise((resolve) => setTimeout(resolve, 500)); + await this.skip(); + } }); } @@ -242,6 +246,10 @@ export class DamonJsPlayer { this.errors.exceptionData.lastExceptionTime = now; this.isTrackPlaying = false; this.emit(Events.PlayerException, this, data); + if (this.damonjs.exceptions.skip) { + await new Promise((resolve) => setTimeout(resolve, 500)); + await this.skip(); + } }); } @@ -271,6 +279,10 @@ export class DamonJsPlayer { this.errors.stuckData.lastStuckTime = now; this.isTrackPlaying = false; this.emit(Events.PlayerStuck, this, data); + if (this.damonjs.stuck.skip) { + await new Promise((resolve) => setTimeout(resolve, 500)); + await this.skip(); + } }); } @@ -302,6 +314,10 @@ export class DamonJsPlayer { this.errors.resolveErrorData.lastResolveErrorTime = now; this.isTrackPlaying = false; this.emit(Events.PlayerResolveError, this, current, resolveResult.message); + if (this.damonjs.resolveError.skip) { + await new Promise((resolve) => setTimeout(resolve, 500)); + await this.skip(); + } }); } diff --git a/src/Modules/Interfaces.ts b/src/Modules/Interfaces.ts index c6dc883..9dd15ec 100644 --- a/src/Modules/Interfaces.ts +++ b/src/Modules/Interfaces.ts @@ -25,6 +25,7 @@ export interface DamonJsOptions { timeFrame: number; maxhits: number; }; + skip: boolean; }; /** Exception config until skip stops */ exceptions?: { @@ -37,6 +38,7 @@ export interface DamonJsOptions { timeFrame: number; maxhits: number; }; + skip: boolean; }; /** Stuck config until skip stops */ stuck?: { @@ -49,6 +51,7 @@ export interface DamonJsOptions { timeFrame: number; maxhits: number; }; + skip: boolean; }; resolveError?: { rule: { @@ -60,6 +63,7 @@ export interface DamonJsOptions { timeFrame: number; maxhits: number; }; + skip: boolean; }; /** DamonJs plugins */ plugins?: DamonJsPlugin[];