From 297e34e1cf45d8c8c0a735e50904f89f8a7d87a6 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Wed, 29 May 2024 17:36:58 +0100 Subject: [PATCH] Fix bug where large file attachments would cause claiming to fail interaction --- .gitignore | 1 + src/buttonEvents/Claim.ts | 12 ++++-------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index aecb458..a9ed469 100644 --- a/.gitignore +++ b/.gitignore @@ -108,4 +108,5 @@ config.json ormconfig.json gdrive-credentials.json data/ +.temp/ *.db \ No newline at end of file diff --git a/src/buttonEvents/Claim.ts b/src/buttonEvents/Claim.ts index 6c45900..3450dc4 100644 --- a/src/buttonEvents/Claim.ts +++ b/src/buttonEvents/Claim.ts @@ -1,17 +1,17 @@ -import { AttachmentBuilder, ButtonInteraction } from "discord.js"; +import { ButtonInteraction } from "discord.js"; import { ButtonEvent } from "../type/buttonEvent"; import Inventory from "../database/entities/app/Inventory"; import { CoreClient } from "../client/client"; import { default as eClaim } from "../database/entities/app/Claim"; import AppLogger from "../client/appLogger"; import CardDropHelperMetadata from "../helpers/CardDropHelperMetadata"; -import { readFileSync } from "fs"; -import path from "path"; export default class Claim extends ButtonEvent { public override async execute(interaction: ButtonInteraction) { if (!interaction.guild || !interaction.guildId) return; + await interaction.deferUpdate(); + const cardNumber = interaction.customId.split(" ")[1]; const claimId = interaction.customId.split(" ")[2]; const droppedBy = interaction.customId.split(" ")[3]; @@ -52,17 +52,13 @@ export default class Claim extends ButtonEvent { return; } - const image = readFileSync(path.join(process.env.DATA_DIR!, "cards", card.card.path)); const imageFileName = card.card.path.split("/").pop()!; - const attachment = new AttachmentBuilder(image, { name: imageFileName }); - const embed = CardDropHelperMetadata.GenerateDropEmbed(card, inventory.Quantity, imageFileName, interaction.user.username); const row = CardDropHelperMetadata.GenerateDropButtons(card, claimId, interaction.user.id, true); - await interaction.update({ + await interaction.editReply({ embeds: [ embed ], - files: [ attachment ], components: [ row ], }); }