Skip to content

Commit 267ee67

Browse files
committed
fix(PagesBuilder): change content on the correct page
1 parent 9d7c655 commit 267ee67

File tree

3 files changed

+26
-10
lines changed

3 files changed

+26
-10
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "discord.js-pages",
3-
"version": "1.3.0",
3+
"version": "1.3.1",
44
"description": "Dynamic pages pagination module for discord.js",
55
"scripts": {
66
"build": "tsc && babel build --out-dir lib --copy-files",

src/PagesBuilder.ts

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,15 @@ type Files = Exclude<MessageOptions['files'], undefined>;
3535

3636
export class PagesBuilder extends MessageEmbed {
3737

38+
/**
39+
* Common
40+
*/
3841
readonly interaction: CommandInteraction;
3942
private collector!: InteractionCollector<MessageComponentInteraction>;
4043
private messageComponent?: MessageComponentInteraction;
4144
private message!: Message;
4245
private messageId = '';
46+
private buildMethod!: 'followUp' | 'editReply' | 'reply';
4347

4448
/**
4549
* Pages
@@ -50,16 +54,25 @@ export class PagesBuilder extends MessageEmbed {
5054
private paginationFormat = '%c / %m';
5155
private loop = true;
5256

57+
/**
58+
* Components
59+
*/
5360
private components: MessageActionRow[] = [];
5461
private defaultButtons: MessageActionRow[] = [];
5562

63+
/**
64+
* Listen
65+
*/
5666
private listenTimeout: number = 5 * 60 * 1000;
5767
private listenUsers: GuildMember['id'][];
5868
private timeout!: NodeJS.Timeout;
5969
private autoResetTimeout = true;
6070
private endColor: ColorResolvable = 'GREY';
6171
private endMethod: EndMethod | EndMethodUnion = EndMethod.EDIT;
6272

73+
/**
74+
* Triggers
75+
*/
6376
private triggers: TriggersMap = new Map();
6477

6578
constructor(interaction: CommandInteraction) {
@@ -179,15 +192,16 @@ export class PagesBuilder extends MessageEmbed {
179192
};
180193

181194
if (this.messageComponent) {
182-
if (this.messageComponent.replied) {
183-
return;
184-
}
185-
186-
const response = await this.messageComponent[this.messageComponent.deferred ? 'editReply' : 'update'](data);
195+
const method = this.messageComponent.deferred || this.messageComponent.replied ?
196+
'editReply'
197+
:
198+
'update';
187199

188-
this.messageComponent = undefined;
200+
return this.messageComponent[method](data);
201+
}
189202

190-
return response;
203+
if (this.buildMethod !== 'reply') {
204+
return this.message.edit(data);
191205
}
192206

193207
return this.interaction.editReply(data);
@@ -514,6 +528,8 @@ export class PagesBuilder extends MessageEmbed {
514528
}
515529
});
516530

531+
this.buildMethod = method;
532+
517533
if (!this.messageId) {
518534
await this.interaction.fetchReply()
519535
.then((message) => {

0 commit comments

Comments
 (0)