From deff86bbac26b50ee6b9da9a3539f9ce13f930d5 Mon Sep 17 00:00:00 2001 From: Ethan Lane Date: Sat, 6 Jul 2024 18:28:54 +0100 Subject: [PATCH] Add the amount of currency a user has to the drop command --- src/buttonEvents/Claim.ts | 4 +-- src/buttonEvents/Reroll.ts | 4 +-- src/commands/drop.ts | 2 +- src/helpers/CardDropHelperMetadata.ts | 42 ++++++++++++++++++--------- 4 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/buttonEvents/Claim.ts b/src/buttonEvents/Claim.ts index e12c674..4d5d97a 100644 --- a/src/buttonEvents/Claim.ts +++ b/src/buttonEvents/Claim.ts @@ -76,7 +76,7 @@ export default class Claim extends ButtonEvent { const imageFileName = card.card.path.split("/").pop()!; - const embed = CardDropHelperMetadata.GenerateDropEmbed(card, inventory.Quantity, imageFileName, interaction.user.username); + const embed = CardDropHelperMetadata.GenerateDropEmbed(card, inventory.Quantity, imageFileName, interaction.user.username, user.Currency); const row = CardDropHelperMetadata.GenerateDropButtons(card, claimId, interaction.user.id, true); await interaction.editReply({ @@ -84,4 +84,4 @@ export default class Claim extends ButtonEvent { components: [ row ], }); } -} \ No newline at end of file +} diff --git a/src/buttonEvents/Reroll.ts b/src/buttonEvents/Reroll.ts index c55aedf..12578db 100644 --- a/src/buttonEvents/Reroll.ts +++ b/src/buttonEvents/Reroll.ts @@ -59,7 +59,7 @@ export default class Reroll extends ButtonEvent { const inventory = await Inventory.FetchOneByCardNumberAndUserId(interaction.user.id, randomCard.card.id); const quantityClaimed = inventory ? inventory.Quantity : 0; - const embed = CardDropHelperMetadata.GenerateDropEmbed(randomCard, quantityClaimed, imageFileName); + const embed = CardDropHelperMetadata.GenerateDropEmbed(randomCard, quantityClaimed, imageFileName, undefined, user.Currency); const claimId = v4(); @@ -78,4 +78,4 @@ export default class Reroll extends ButtonEvent { await interaction.editReply(`Unable to send next drop. Please try again, and report this if it keeps happening. (${randomCard.card.id})`); } } -} \ No newline at end of file +} diff --git a/src/commands/drop.ts b/src/commands/drop.ts index dc66ad8..6f74d3a 100644 --- a/src/commands/drop.ts +++ b/src/commands/drop.ts @@ -67,7 +67,7 @@ export default class Drop extends Command { const inventory = await Inventory.FetchOneByCardNumberAndUserId(interaction.user.id, randomCard.card.id); const quantityClaimed = inventory ? inventory.Quantity : 0; - const embed = CardDropHelperMetadata.GenerateDropEmbed(randomCard, quantityClaimed, imageFileName); + const embed = CardDropHelperMetadata.GenerateDropEmbed(randomCard, quantityClaimed, imageFileName, undefined, user.Currency); const claimId = v4(); diff --git a/src/helpers/CardDropHelperMetadata.ts b/src/helpers/CardDropHelperMetadata.ts index 26a7731..a713550 100644 --- a/src/helpers/CardDropHelperMetadata.ts +++ b/src/helpers/CardDropHelperMetadata.ts @@ -77,25 +77,41 @@ export default class CardDropHelperMetadata { return { card, series }; } - public static GenerateDropEmbed(drop: DropResult, quantityClaimed: number, imageFileName: string, claimedBy?: string): EmbedBuilder { + public static GenerateDropEmbed(drop: DropResult, quantityClaimed: number, imageFileName: string, claimedBy?: string, currency?: number): EmbedBuilder { AppLogger.LogSilly("CardDropHelperMetadata/GenerateDropEmbed", `Parameters: drop=${drop.card.id}, quantityClaimed=${quantityClaimed}, imageFileName=${imageFileName}`); - let description = ""; - description += `Series: ${drop.series.name}\n`; - description += `Claimed: ${quantityClaimed}\n`; + let description = drop.series.name; - if (claimedBy != null) { - description += `Claimed by: ${claimedBy}\n`; - } else { - description += "Claimed by: (UNCLAIMED)\n"; - } - - return new EmbedBuilder() + const embed = new EmbedBuilder() .setTitle(drop.card.name) .setDescription(description) .setFooter({ text: `${CardRarityToString(drop.card.type)} ยท ${drop.card.id}` }) .setColor(CardRarityToColour(drop.card.type)) - .setImage(`attachment://${imageFileName}`); + .setImage(`attachment://${imageFileName}`) + .addFields([ + { + name: "Claimed", + value: `${quantityClaimed}`, + inline: true, + }, + { + name: "Claimed by", + value: claimedBy ?? "(UNCLAIMED)", + inline: true, + } + ]); + + if (currency != null) { + embed.addFields([ + { + name: "Currency", + value: `${currency}`, + inline: true, + } + ]); + } + + return embed; } public static GenerateDropButtons(drop: DropResult, claimId: string, userId: string, disabled: boolean = false): ActionRowBuilder { @@ -113,4 +129,4 @@ export default class CardDropHelperMetadata { .setLabel("Reroll") .setStyle(ButtonStyle.Secondary)); } -} \ No newline at end of file +}