(buttons): Implement records-next & records-previous buttons.

This commit is contained in:
2026-10-14 11:46:48 +08:00
parent 9d2b2e6a9e
commit e87be791eb
2 changed files with 19 additions and 13 deletions
+9 -6
View File
@@ -1,15 +1,18 @@
import { ButtonInteraction, Client } from 'discord.js'; import { ButtonInteraction, Client } from 'discord.js';
import { Button } from '../types';
import { getRecordMessageFromDiscordId } from '../utils'; import { getRecordMessageFromDiscordId } from '../utils';
export default { class RecordsNextButton implements Button<Client> {
name: 'records-next', id = 'records-next';
handler: async function (client: Client, interaction: ButtonInteraction, userId: string, page: string) {
async execute(context: Client<boolean>, interaction: ButtonInteraction, userId: string, page: string): Promise<void> {
await interaction.deferUpdate(); await interaction.deferUpdate();
const message = await getRecordMessageFromDiscordId(userId, parseInt(page) + 1, interaction.guild!); const message = await getRecordMessageFromDiscordId(userId, parseInt(page) + 1, interaction.guild!);
if (!message) return; if (!message) return;
interaction.editReply(message); await interaction.editReply(message);
} }
}; }
export default new RecordsNextButton();
+10 -7
View File
@@ -1,15 +1,18 @@
import { ButtonInteraction, Client} from 'discord.js'; import { ButtonInteraction, Client } from 'discord.js';
import { Button } from '../types';
import { getRecordMessageFromDiscordId } from '../utils'; import { getRecordMessageFromDiscordId } from '../utils';
export default { class RecordsPreviousButton implements Button<Client> {
name: 'records-previous', id = 'records-previous';
handler: async function (client: Client, interaction: ButtonInteraction, userId: string, page: string) {
async execute(context: Client<boolean>, interaction: ButtonInteraction, userId: string, page: string): Promise<void> {
await interaction.deferUpdate(); await interaction.deferUpdate();
const message = await getRecordMessageFromDiscordId(userId, parseInt(page) - 1, interaction.guild!); const message = await getRecordMessageFromDiscordId(userId, parseInt(page) - 1, interaction.guild!);
if (!message) return; if (!message) return;
interaction.editReply(message); await interaction.editReply(message);
} }
}; }
export default new RecordsPreviousButton();