From b9248e6aad49c513c29cbe5ab6da35876e23761a Mon Sep 17 00:00:00 2001 From: derpystuff <3515180-derpystuff@users.noreply.gitlab.com> Date: Wed, 24 Jan 2024 18:46:51 +0100 Subject: [PATCH] revert certain paginator changes --- labscore/paginator/structures/BasePaginator.js | 14 +++----------- .../paginator/structures/InteractionPaginator.js | 8 ++++++++ labscore/paginator/structures/Paginator.js | 16 ++++++++-------- 3 files changed, 19 insertions(+), 19 deletions(-) create mode 100644 labscore/paginator/structures/InteractionPaginator.js diff --git a/labscore/paginator/structures/BasePaginator.js b/labscore/paginator/structures/BasePaginator.js index 2145315..cbb9535 100644 --- a/labscore/paginator/structures/BasePaginator.js +++ b/labscore/paginator/structures/BasePaginator.js @@ -9,17 +9,9 @@ module.exports = class BasePaginator extends EventEmitter { this.commandMessage = data.commandMessage || null; this.pages = data.pages; this.index = 0; - this.targetUser = data.targetUser || this.message?.author?.id || data.context?.user?.id; - - this.waitingForPage = null; + this.targetUser = data.targetUser || this.message.author.id; - this.editOrReply = data.context.editOrReply?.bind(data.context); - - // Support application command context - if(data.context.editOrRespond) { - this.editOrRespond = data.context.editOrRespond.bind(data.context) - this.editOrReply = (d) => this.editOrRespond(d) - } + this.editOrReply = data.context.editOrReply.bind(data.context); } static asMessage(ctx) { @@ -158,4 +150,4 @@ module.exports = class BasePaginator extends EventEmitter { this.client.activeListeners.splice(targetIndex, 1); return this; } -}; \ No newline at end of file +}; diff --git a/labscore/paginator/structures/InteractionPaginator.js b/labscore/paginator/structures/InteractionPaginator.js new file mode 100644 index 0000000..956f656 --- /dev/null +++ b/labscore/paginator/structures/InteractionPaginator.js @@ -0,0 +1,8 @@ +const BasePaginator = require("./BasePaginator"); + +module.exports = class InteractionPaginator extends BasePaginator { + constructor(client, data) { + super(client, data); + this.waitingForPage = null; + } +}; diff --git a/labscore/paginator/structures/Paginator.js b/labscore/paginator/structures/Paginator.js index 3bd477d..10ca176 100644 --- a/labscore/paginator/structures/Paginator.js +++ b/labscore/paginator/structures/Paginator.js @@ -1,7 +1,7 @@ -const BasePaginator = require("./BasePaginator"); +const InteractionPaginator = require("./InteractionPaginator"); const assert = require("assert"); -const { Constants, Utils } = require('detritus-client'); +const { Constants, Utils } = require('detritus-client') const { Components } = Utils const { InteractionCallbackTypes } = Constants @@ -44,7 +44,7 @@ module.exports = class Paginator { if (!allowedEvents.has(event)) return; for (const listener of this.activeListeners) { - if (!(listener instanceof BasePaginator)) continue; + if (!(listener instanceof InteractionPaginator)) continue; if (!listener.commandMessage) continue; if (event === "MESSAGE_CREATE" && @@ -60,7 +60,7 @@ module.exports = class Paginator { async handleButtonEvent(context) { let listener; for (const l of this.activeListeners) { - if (!(l instanceof BasePaginator)) continue; + if (!(l instanceof InteractionPaginator)) continue; if (!l.commandMessage) continue; if (l.isCommandMessage(context.message.id)) { listener = l @@ -150,17 +150,16 @@ module.exports = class Paginator { // Check if a paginator exists, if it does kill the old one let listener; for (const l of this.activeListeners) { - if (!(l instanceof BasePaginator)) continue; + if (!(l instanceof InteractionPaginator)) continue; if (!l.commandMessage) continue; - if (data.context.message?.id && l.isCommandMessage(data.context.message?.id)) { + if (l.isCommandMessage(data.context.message.id)) { listener = l } } - if(listener) await listener.stop() - const instance = new BasePaginator(this, data); + const instance = new InteractionPaginator(this, data); this.activeListeners.push(instance); setTimeout(() => { @@ -183,3 +182,4 @@ module.exports = class Paginator { return instance; } }; +