From 96f1b1ceec7640bf9303ac77b37602ca4d081866 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Thu, 27 Jun 2024 20:44:55 +0100 Subject: [PATCH] Add image to inventory command --- src/buttonEvents/Inventory.ts | 3 ++- src/commands/drop.ts | 2 +- src/commands/inventory.ts | 3 ++- src/helpers/InventoryHelper.ts | 10 ++++++---- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/buttonEvents/Inventory.ts b/src/buttonEvents/Inventory.ts index 7dfb305..3ce9751 100644 --- a/src/buttonEvents/Inventory.ts +++ b/src/buttonEvents/Inventory.ts @@ -25,6 +25,7 @@ export default class Inventory extends ButtonEvent { const embed = await InventoryHelper.GenerateInventoryPage(member.user.username, member.user.id, Number(page)); await interaction.update({ + files: [ embed.image ], embeds: [ embed.embed ], components: [ embed.row ], }); @@ -34,4 +35,4 @@ export default class Inventory extends ButtonEvent { await interaction.reply("No page for user found."); } } -} \ No newline at end of file +} diff --git a/src/commands/drop.ts b/src/commands/drop.ts index ab6c339..dc66ad8 100644 --- a/src/commands/drop.ts +++ b/src/commands/drop.ts @@ -88,4 +88,4 @@ export default class Drop extends Command { } } -} \ No newline at end of file +} diff --git a/src/commands/inventory.ts b/src/commands/inventory.ts index 217cb63..167c3d9 100644 --- a/src/commands/inventory.ts +++ b/src/commands/inventory.ts @@ -38,6 +38,7 @@ export default class Inventory extends Command { const embed = await InventoryHelper.GenerateInventoryPage(user.username, user.id, pageNumber); await interaction.reply({ + files: [ embed.image ], embeds: [ embed.embed ], components: [ embed.row ], }); @@ -47,4 +48,4 @@ export default class Inventory extends Command { await interaction.reply("No page for user found."); } } -} \ No newline at end of file +} diff --git a/src/helpers/InventoryHelper.ts b/src/helpers/InventoryHelper.ts index 2791993..3016f09 100644 --- a/src/helpers/InventoryHelper.ts +++ b/src/helpers/InventoryHelper.ts @@ -1,4 +1,4 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder } from "discord.js"; +import { ActionRowBuilder, AttachmentBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder } from "discord.js"; import Inventory from "../database/entities/app/Inventory"; import { CoreClient } from "../client/client"; import EmbedColours from "../constants/EmbedColours"; @@ -26,7 +26,7 @@ interface InventoryPageCards { interface ReturnedInventoryPage { embed: EmbedBuilder, row: ActionRowBuilder, - image: Buffer, + image: AttachmentBuilder, } @@ -96,7 +96,8 @@ export default class InventoryHelper { .setTitle(username) .setDescription(`**${currentPage.name} (${currentPage.seriesSubpage + 1})**\n${currentPage.cards.map(x => `[${x.id}] ${x.name} (${CardRarityToString(x.type)}) x${x.quantity}`).join("\n")}`) .setFooter({ text: `Page ${page + 1} of ${pages.length}` }) - .setColor(EmbedColours.Ok); + .setColor(EmbedColours.Ok) + .setImage("attachment://page.png"); const row = new ActionRowBuilder() .addComponents( @@ -111,7 +112,8 @@ export default class InventoryHelper { .setStyle(ButtonStyle.Primary) .setDisabled(page + 1 == pages.length)); - const image = await this.GenerateInventoryImage(currentPage); + const buffer = await this.GenerateInventoryImage(currentPage); + const image = new AttachmentBuilder(buffer, { name: "page.png" }); return { embed, row, image }; }