From 736cbe0ac19d4c57915ae738e7d8741652023414 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Thu, 15 Aug 2024 19:21:56 +0100 Subject: [PATCH 1/4] Fix button events not working --- src/buttonEvents/moons.ts | 2 +- src/buttonEvents/moons/list.ts | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/buttonEvents/moons.ts b/src/buttonEvents/moons.ts index 373e30c..726f209 100644 --- a/src/buttonEvents/moons.ts +++ b/src/buttonEvents/moons.ts @@ -4,7 +4,7 @@ import List from "./moons/list"; export default class Moons extends ButtonEvent { public override async execute(interaction: ButtonInteraction): Promise { - const action = interaction.customId.split(" ")[0]; + const action = interaction.customId.split(" ")[1]; switch (action) { case "list": diff --git a/src/buttonEvents/moons/list.ts b/src/buttonEvents/moons/list.ts index fe5ae21..0c89de1 100644 --- a/src/buttonEvents/moons/list.ts +++ b/src/buttonEvents/moons/list.ts @@ -5,11 +5,10 @@ import EmbedColours from "../../constants/EmbedColours"; export default async function List(interaction: ButtonInteraction) { if (!interaction.guild) return; - const userId = interaction.customId.split(" ")[1]; - const page = interaction.customId.split(" ")[2]; + const userId = interaction.customId.split(" ")[2]; + const page = interaction.customId.split(" ")[3]; if (!userId || !page) return; - if (!Number(page)) return; const pageNumber = Number(page); From afbee94a75f2367bf011b7863a123f1dd94a9928 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Thu, 15 Aug 2024 19:27:17 +0100 Subject: [PATCH 2/4] Add WhenArchived column --- database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql | 1 + src/database/entities/Moon.ts | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql b/database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql index a2afcbf..e7aecab 100644 --- a/database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql +++ b/database/3.3.0/1719856023429-CreateMoon/Up/01-Moon.sql @@ -5,5 +5,6 @@ CREATE TABLE `moon` ( `MoonNumber` int NOT NULL, `UserId` varchar(255) NOT NULL, `Description` varchar(255) NOT NULL + `WhenArchived` datetime NULL, ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; diff --git a/src/database/entities/Moon.ts b/src/database/entities/Moon.ts index b139530..566d1d4 100644 --- a/src/database/entities/Moon.ts +++ b/src/database/entities/Moon.ts @@ -1,4 +1,4 @@ -import { Column, Entity } from "typeorm"; +import { Column, Entity, IsNull } from "typeorm"; import BaseEntity from "../../contracts/BaseEntity"; import AppDataSource from "../dataSources/appDataSource"; @@ -18,6 +18,9 @@ export default class Moon extends BaseEntity { @Column() Description: string; + @Column({ nullable: true }) + WhenArchived?: Date; + @Column() UserId: string; @@ -35,7 +38,7 @@ export default class Moon extends BaseEntity { const repository = AppDataSource.getRepository(Moon); const moons = await repository.findAndCount({ - where: { UserId: userId }, + where: { UserId: userId, WhenArchived: IsNull() }, order: { MoonNumber: "ASC" }, skip: rangeStart, take: pageLength, From 89b3af952321deba1e355a521c809a9ec837e42b Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Thu, 15 Aug 2024 19:29:08 +0100 Subject: [PATCH 3/4] Fix moon count always saying 2 --- src/buttonEvents/moons/list.ts | 2 +- src/commands/304276391837302787/moons/list.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/buttonEvents/moons/list.ts b/src/buttonEvents/moons/list.ts index 0c89de1..fc20e5e 100644 --- a/src/buttonEvents/moons/list.ts +++ b/src/buttonEvents/moons/list.ts @@ -31,7 +31,7 @@ export default async function List(interaction: ButtonInteraction) { .setTitle(`${member?.user.username}'s Moons`) .setColor(EmbedColours.Ok) .setDescription(description.join("\n")) - .setFooter({ text: `${moons.length} moons` }); + .setFooter({ text: `${moons[1]} moons` }); const row = new ActionRowBuilder() .addComponents( diff --git a/src/commands/304276391837302787/moons/list.ts b/src/commands/304276391837302787/moons/list.ts index 5cddffb..fd209a4 100644 --- a/src/commands/304276391837302787/moons/list.ts +++ b/src/commands/304276391837302787/moons/list.ts @@ -23,7 +23,7 @@ export default async function ListMoons(interaction: CommandInteraction) { .setTitle(`${user.username}'s Moons`) .setColor(EmbedColours.Ok) .setDescription(description.join("\n")) - .setFooter({ text: `${moons.length} moons` }); + .setFooter({ text: `${moons[1]} moons` }); const row = new ActionRowBuilder() .addComponents( From e7527abdf9d9f021f11883243782c024b00e9f17 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Thu, 15 Aug 2024 19:31:14 +0100 Subject: [PATCH 4/4] Add page number --- src/buttonEvents/moons/list.ts | 2 +- src/commands/304276391837302787/moons/list.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/buttonEvents/moons/list.ts b/src/buttonEvents/moons/list.ts index fc20e5e..9309dbe 100644 --- a/src/buttonEvents/moons/list.ts +++ b/src/buttonEvents/moons/list.ts @@ -31,7 +31,7 @@ export default async function List(interaction: ButtonInteraction) { .setTitle(`${member?.user.username}'s Moons`) .setColor(EmbedColours.Ok) .setDescription(description.join("\n")) - .setFooter({ text: `${moons[1]} moons` }); + .setFooter({ text: `Page ${page + 1} of ${totalPages} · ${moons[1]} moons` }); const row = new ActionRowBuilder() .addComponents( diff --git a/src/commands/304276391837302787/moons/list.ts b/src/commands/304276391837302787/moons/list.ts index fd209a4..8727124 100644 --- a/src/commands/304276391837302787/moons/list.ts +++ b/src/commands/304276391837302787/moons/list.ts @@ -23,7 +23,7 @@ export default async function ListMoons(interaction: CommandInteraction) { .setTitle(`${user.username}'s Moons`) .setColor(EmbedColours.Ok) .setDescription(description.join("\n")) - .setFooter({ text: `${moons[1]} moons` }); + .setFooter({ text: `Page ${page + 1} of ${totalPages} · ${moons[1]} moons` }); const row = new ActionRowBuilder() .addComponents(