diff --git a/.dev.env b/.dev.env index 0089c5e..14e8d2c 100644 --- a/.dev.env +++ b/.dev.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=0.1.0 DEV +BOT_VER=0.1.1 DEV BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=682942374040961060 diff --git a/.prod.env b/.prod.env index 3060f18..d351e88 100644 --- a/.prod.env +++ b/.prod.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=0.1.0 +BOT_VER=0.1.1 BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=1093810443589529631 diff --git a/.stage.env b/.stage.env index c4bb588..f00a3ad 100644 --- a/.stage.env +++ b/.stage.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=0.1.0 BETA +BOT_VER=0.1.1 BETA BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=1147976642942214235 diff --git a/src/Functions/CardSetupFunction.ts b/src/Functions/CardSetupFunction.ts index a9098ec..c4dc597 100644 --- a/src/Functions/CardSetupFunction.ts +++ b/src/Functions/CardSetupFunction.ts @@ -65,7 +65,7 @@ export default class CardSetupFunction { const cardId = filePart[0]; const cardName = filePart[0]; - const card = new Card(cardId, cardName, CardRarity.Bronze, path.join(path.join(process.cwd(), 'cards', series.Path, 'BRONZE', file)), series); + const card = new Card(cardId, cardName, CardRarity.Bronze, path.join(path.join(process.cwd(), 'cards', series.Path, 'BRONZE', file)), file, series); cardsToSave.push(card); } @@ -76,7 +76,7 @@ export default class CardSetupFunction { const cardId = filePart[0]; const cardName = filePart[0]; - const card = new Card(cardId, cardName, CardRarity.Gold, path.join(path.join(process.cwd(), 'cards', series.Path, 'GOLD', file)), series); + const card = new Card(cardId, cardName, CardRarity.Gold, path.join(path.join(process.cwd(), 'cards', series.Path, 'GOLD', file)), file, series); cardsToSave.push(card); } @@ -87,7 +87,7 @@ export default class CardSetupFunction { const cardId = filePart[0]; const cardName = filePart[0]; - const card = new Card(cardId, cardName, CardRarity.Legendary, path.join(path.join(process.cwd(), 'cards', series.Path, 'LEGENDARY', file)), series); + const card = new Card(cardId, cardName, CardRarity.Legendary, path.join(path.join(process.cwd(), 'cards', series.Path, 'LEGENDARY', file)), file, series); cardsToSave.push(card); } @@ -98,7 +98,7 @@ export default class CardSetupFunction { const cardId = filePart[0]; const cardName = filePart[0]; - const card = new Card(cardId, cardName, CardRarity.Silver, path.join(path.join(process.cwd(), 'cards', series.Path, 'SILVER', file)), series); + const card = new Card(cardId, cardName, CardRarity.Silver, path.join(path.join(process.cwd(), 'cards', series.Path, 'SILVER', file)), file, series); cardsToSave.push(card); } diff --git a/src/buttonEvents/Reroll.ts b/src/buttonEvents/Reroll.ts index f1c4bcc..8e5dcbe 100644 --- a/src/buttonEvents/Reroll.ts +++ b/src/buttonEvents/Reroll.ts @@ -14,14 +14,14 @@ export default class Reroll extends ButtonEvent { const image = readFileSync(randomCard.Path); - const attachment = new AttachmentBuilder(image, { name: `${randomCard.Id}.png` }); + const attachment = new AttachmentBuilder(image, { name: randomCard.FileName }); const embed = new EmbedBuilder() .setTitle(randomCard.Name) .setDescription(randomCard.Series.Name) .setFooter({ text: CardRarityToString(randomCard.Rarity) }) .setColor(CardRarityToColour(randomCard.Rarity)) - .setImage(`attachment://${randomCard.Id}.png`); + .setImage(`attachment://${randomCard.FileName}`); const row = new ActionRowBuilder(); diff --git a/src/commands/drop.ts b/src/commands/drop.ts index 861fb18..a8c7f50 100644 --- a/src/commands/drop.ts +++ b/src/commands/drop.ts @@ -20,14 +20,16 @@ export default class Drop extends Command { const image = readFileSync(randomCard.Path); - const attachment = new AttachmentBuilder(image, { name: `${randomCard.Id}.png` }); + await interaction.deferReply(); + + const attachment = new AttachmentBuilder(image, { name: randomCard.FileName }); const embed = new EmbedBuilder() .setTitle(randomCard.Name) .setDescription(randomCard.Series.Name) .setFooter({ text: CardRarityToString(randomCard.Rarity) }) .setColor(CardRarityToColour(randomCard.Rarity)) - .setImage(`attachment://${randomCard.Id}.png`); + .setImage(`attachment://${randomCard.FileName}`); const row = new ActionRowBuilder(); @@ -43,7 +45,7 @@ export default class Drop extends Command { .setLabel("Reroll") .setStyle(ButtonStyle.Secondary)); - await interaction.reply({ + await interaction.editReply({ embeds: [ embed ], files: [ attachment ], components: [ row ], diff --git a/src/database/entities/card/Card.ts b/src/database/entities/card/Card.ts index f354fd6..8cbfbd3 100644 --- a/src/database/entities/card/Card.ts +++ b/src/database/entities/card/Card.ts @@ -5,18 +5,19 @@ import Series from "./Series"; @Entity() export default class Card extends CardBaseEntity { - constructor(cardNumber: string, name: string, rarity: CardRarity, path: string, series: Series) { + constructor(cardNumber: string, name: string, rarity: CardRarity, path: string, fileName: string, series: Series) { super(); this.CardNumber = cardNumber; this.Name = name; this.Rarity = rarity; this.Path = path; + this.FileName = fileName; this.Series = series; } @Column() - CardNumber: string + CardNumber: string; @Column() Name: string; @@ -25,7 +26,10 @@ export default class Card extends CardBaseEntity { Rarity: CardRarity; @Column() - Path: string + Path: string; + + @Column() + FileName: string; @ManyToOne(() => Series, x => x.Cards) Series: Series; diff --git a/src/helpers/CardDropHelper.ts b/src/helpers/CardDropHelper.ts index 9ab63ca..0b32535 100644 --- a/src/helpers/CardDropHelper.ts +++ b/src/helpers/CardDropHelper.ts @@ -1,12 +1,9 @@ import { CardRarity } from "../constants/CardRarity"; -import CardDataSource from "../database/dataSources/cardDataSource"; import Card from "../database/entities/card/Card"; import Series from "../database/entities/card/Series"; export default class CardDropHelper { public static async GetRandomCard(): Promise { - const seriesRepository = CardDataSource.getRepository(Series); - const allSeries = await Series.FetchAll(Series, [ "Cards", "Cards.Series" ]); const allSeriesWithCards = allSeries.filter(x => x.Cards.length > 0); @@ -27,7 +24,7 @@ export default class CardDropHelper { else if (randomRarity < goldChance) cardRarity = CardRarity.Gold; else cardRarity = CardRarity.Legendary; - const allCards = randomSeries.Cards.filter(x => x.Rarity == cardRarity); + const allCards = randomSeries.Cards.filter(x => x.Rarity == cardRarity && x.Path && x.FileName); const randomCardIndex = Math.floor(Math.random() * allCards.length);