diff --git a/.dev.env b/.dev.env index 14ad89c..d1b74b1 100644 --- a/.dev.env +++ b/.dev.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=0.4.0 +BOT_VER=0.3.1 BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=682942374040961060 diff --git a/.prod.env b/.prod.env index df28009..0755c1e 100644 --- a/.prod.env +++ b/.prod.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=0.4.0 +BOT_VER=0.3.1 BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=1093810443589529631 diff --git a/.stage.env b/.stage.env index 79dcc48..4f70991 100644 --- a/.stage.env +++ b/.stage.env @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=0.4.0 +BOT_VER=0.3.1 BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=1147976642942214235 diff --git a/src/client/client.ts b/src/client/client.ts index 5dee253..643036d 100644 --- a/src/client/client.ts +++ b/src/client/client.ts @@ -14,7 +14,6 @@ import { Environment } from "../constants/Environment"; import Webhooks from "../webhooks"; import CardMetadataFunction from "../Functions/CardMetadataFunction"; import SeriesMetadata from "../contracts/SeriesMetadata"; -import InventoryHelper from "../helpers/InventoryHelper"; export class CoreClient extends Client { private static _commandItems: ICommandItem[]; @@ -84,11 +83,7 @@ export class CoreClient extends Client { console.log(`Registered Events: ${CoreClient._eventItems.flatMap(x => x.EventType).join(", ")}`); console.log(`Registered Buttons: ${CoreClient._buttonEvents.flatMap(x => x.ButtonId).join(", ")}`); - const page = await InventoryHelper.GenerateInventoryPage('125776189666230272', 0); - - console.log(page); - - // await super.login(process.env.BOT_TOKEN); + await super.login(process.env.BOT_TOKEN); } public static RegisterCommand(name: string, command: Command, environment: Environment = Environment.All, serverId?: string) { diff --git a/src/commands/drop.ts b/src/commands/drop.ts index 2ecd936..5a8ccd9 100644 --- a/src/commands/drop.ts +++ b/src/commands/drop.ts @@ -1,4 +1,4 @@ -import { AttachmentBuilder, CommandInteraction, SlashCommandBuilder } from "discord.js"; +import { AttachmentBuilder, CommandInteraction, DiscordAPIError, SlashCommandBuilder } from "discord.js"; import { Command } from "../type/command"; import { readFileSync } from "fs"; import { CoreClient } from "../client/client"; diff --git a/src/commands/inventory.ts b/src/commands/inventory.ts deleted file mode 100644 index 37b23c8..0000000 --- a/src/commands/inventory.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { CommandInteraction, SlashCommandBuilder } from "discord.js"; -import { Command } from "../type/command"; - -export default class Inventory extends Command { - constructor() { - super(); - - this.CommandBuilder = new SlashCommandBuilder() - .setName('inventory') - .setDescription('View your inventory'); - } - - public override async execute(interaction: CommandInteraction) { - - } -} \ No newline at end of file diff --git a/src/database/entities/app/Inventory.ts b/src/database/entities/app/Inventory.ts index cfe8c3d..adec824 100644 --- a/src/database/entities/app/Inventory.ts +++ b/src/database/entities/app/Inventory.ts @@ -40,12 +40,4 @@ export default class Inventory extends AppBaseEntity { return single; } - - public static async FetchAllByUserId(userId: string): Promise { - const repository = AppDataSource.getRepository(Inventory); - - const all = await repository.find({ where: { UserId: userId }}); - - return all; - } } \ No newline at end of file diff --git a/src/helpers/InventoryHelper.ts b/src/helpers/InventoryHelper.ts deleted file mode 100644 index 197a131..0000000 --- a/src/helpers/InventoryHelper.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder } from "discord.js"; -import Inventory from "../database/entities/app/Inventory"; -import { CoreClient } from "../client/client"; -import SeriesMetadata from "../contracts/SeriesMetadata"; -import EmbedColours from "../constants/EmbedColours"; -import { CardRarity, CardRarityToString } from "../constants/CardRarity"; - -interface InventoryPage { - id: number, - name: string, - cards: InventoryPageCards[], - seriesSubpage: number, -} - -interface InventoryPageCards { - id: string, - name: string, - type: CardRarity, - quantity: number, -} - -export default class InventoryHelper { - public static async GenerateInventoryPage(userid: string, page: number): Promise<{ embed: EmbedBuilder, row: ActionRowBuilder }> { - const cardsPerPage = 9; - - const inventory = await Inventory.FetchAllByUserId(userid); - - const allSeriesClaimed = CoreClient.Cards - .sort((a, b) => a.id - b.id) - .filter(x => { - x.cards = x.cards - .sort((a, b) => b.type - a.type) - .filter(y => inventory.find(z => z.CardNumber == y.id)); - - return x; - }); - - const pages: InventoryPage[] = []; - - for (let series of allSeriesClaimed) { - const seriesCards = series.cards; - - for (let i = 0; i < seriesCards.length; i+= cardsPerPage) { - const cards = series.cards.slice(i, i + cardsPerPage); - const pageCards: InventoryPageCards[] = []; - - for (let card of cards) { - const item = inventory.find(x => x.CardNumber == card.id); - - if (!item) { - continue; - } - - pageCards.push({ - id: card.id, - name: card.name, - type: card.type, - quantity: item.Quantity, - }); - } - - pages.push({ - id: series.id, - name: series.name, - cards: pageCards, - seriesSubpage: i / cardsPerPage, - }); - } - } - - const currentPage = pages[page]; - - if (!currentPage) { - console.error("Unable to find page"); - return Promise.reject("Unable to find page"); - } - - const embed = new EmbedBuilder() - .setTitle(`${currentPage.name} (${currentPage.seriesSubpage + 1})`) - .setDescription(currentPage.cards.map(x => `[${x.id}] ${x.name} (${CardRarityToString(x.type)}) x${x.quantity}`).join('\n')) - .setFooter({ text: `Page ${page} of ${pages.length}` }) - .setColor(EmbedColours.Ok); - - const row = new ActionRowBuilder() - .addComponents( - new ButtonBuilder() - .setCustomId(`inventory ${userid} ${page - 1}`) - .setLabel("Previous") - .setStyle(ButtonStyle.Primary) - .setDisabled(page == 0), - new ButtonBuilder() - .setCustomId(`inventory ${userid} ${page + 1}`) - .setLabel("Next") - .setStyle(ButtonStyle.Primary) - .setDisabled(page == pages.length)); - - return { embed, row }; - } -} \ No newline at end of file