diff --git a/.env.example b/.env.example index 8f1bfc6..00a861f 100644 --- a/.env.example +++ b/.env.example @@ -7,7 +7,7 @@ # any secret values. BOT_TOKEN= -BOT_VER=0.8.1 +BOT_VER=0.8.0 BOT_AUTHOR=Vylpes BOT_OWNERID=147392775707426816 BOT_CLIENTID=682942374040961060 diff --git a/package.json b/package.json index 292f0c6..9126a28 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "card-drop", - "version": "0.8.1", + "version": "0.8.0", "main": "./dist/bot.js", "typings": "./dist", "scripts": { diff --git a/src/Functions/CardMetadataFunction.ts b/src/Functions/CardMetadataFunction.ts index 9b10665..a2499d9 100644 --- a/src/Functions/CardMetadataFunction.ts +++ b/src/Functions/CardMetadataFunction.ts @@ -5,7 +5,6 @@ import { glob } from "glob"; import { SeriesMetadata } from "../contracts/SeriesMetadata"; import { CoreClient } from "../client/client"; import AppLogger from "../client/appLogger"; -import {CardRarity} from "../constants/CardRarity"; export interface CardMetadataResult { IsSuccess: boolean; @@ -38,22 +37,7 @@ export default class CardMetadataFunction { if (cardResult.IsSuccess) { CoreClient.Cards = cardResult.Result!; - - const allCards = CoreClient.Cards.flatMap(x => x.cards); - - const totalCards = allCards.length; - const bronzeCards = allCards.filter(x => x.type == CardRarity.Bronze) - .length; - const silverCards = allCards.filter(x => x.type == CardRarity.Silver) - .length; - const goldCards = allCards.filter(x => x.type == CardRarity.Gold) - .length; - const mangaCards = allCards.filter(x => x.type == CardRarity.Manga) - .length; - const legendaryCards = allCards.filter(x => x.type == CardRarity.Legendary) - .length; - - AppLogger.LogInfo("Functions/CardMetadataFunction", `Loaded ${totalCards} cards to database (${bronzeCards} bronze, ${silverCards} silver, ${goldCards} gold, ${mangaCards} manga, ${legendaryCards} legendary)`); + AppLogger.LogInfo("Functions/CardMetadataFunction", `Loaded ${CoreClient.Cards.flatMap(x => x.cards).length} cards to database`); const duplicateCards = CoreClient.Cards.flatMap(x => x.cards) .filter((card, index, self) => self.findIndex(c => c.id === card.id) !== index); diff --git a/src/commands/stats.ts b/src/commands/stats.ts deleted file mode 100644 index e65ab93..0000000 --- a/src/commands/stats.ts +++ /dev/null @@ -1,51 +0,0 @@ -import {CommandInteraction, EmbedBuilder, PermissionsBitField, SlashCommandBuilder} from "discord.js"; -import {Command} from "../type/command"; -import {CoreClient} from "../client/client"; -import {CardRarity} from "../constants/CardRarity"; -import EmbedColours from "../constants/EmbedColours"; - -export default class Stats extends Command { - constructor() { - super(); - - this.CommandBuilder = new SlashCommandBuilder() - .setName("stats") - .setDescription("Get bot stats such as card info") - .setDefaultMemberPermissions(PermissionsBitField.Flags.Administrator); - } - - public override async execute(interaction: CommandInteraction) { - const allCards = CoreClient.Cards.flatMap(x => x.cards); - - const totalCards = allCards.length; - const bronzeCards = allCards.filter(x => x.type == CardRarity.Bronze) - .length; - const silverCards = allCards.filter(x => x.type == CardRarity.Silver) - .length; - const goldCards = allCards.filter(x => x.type == CardRarity.Gold) - .length; - const mangaCards = allCards.filter(x => x.type == CardRarity.Manga) - .length; - const legendaryCards = allCards.filter(x => x.type == CardRarity.Legendary) - .length; - - const description = [ - `${totalCards} Total`, - `${bronzeCards} Bronze`, - `${silverCards} Silver`, - `${goldCards} Gold`, - `${mangaCards} Manga`, - `${legendaryCards} Legendary`, - ].join("\n"); - - const embed = new EmbedBuilder() - .setTitle("Stats") - .setDescription(description) - .setColor(EmbedColours.Ok); - - await interaction.reply({ - embeds: [ embed ], - ephemeral: true, - }); - } -} diff --git a/src/contracts/SeriesMetadata.ts b/src/contracts/SeriesMetadata.ts index 4dd2eb9..4a989bc 100644 --- a/src/contracts/SeriesMetadata.ts +++ b/src/contracts/SeriesMetadata.ts @@ -12,7 +12,6 @@ export interface CardMetadata { type: CardRarity, path: string, subseries?: string, - colour?: string, } export interface DropResult { diff --git a/src/helpers/CardDropHelperMetadata.ts b/src/helpers/CardDropHelperMetadata.ts index bc59e93..84bcdfa 100644 --- a/src/helpers/CardDropHelperMetadata.ts +++ b/src/helpers/CardDropHelperMetadata.ts @@ -5,7 +5,6 @@ import { DropResult } from "../contracts/SeriesMetadata"; import { CoreClient } from "../client/client"; import AppLogger from "../client/appLogger"; import CardConstants from "../constants/CardConstants"; -import StringTools from "./StringTools"; export default class CardDropHelperMetadata { public static GetRandomCard(): DropResult | undefined { @@ -83,25 +82,12 @@ export default class CardDropHelperMetadata { AppLogger.LogSilly("CardDropHelperMetadata/GenerateDropEmbed", `Parameters: drop=${drop.card.id}, quantityClaimed=${quantityClaimed}, imageFileName=${imageFileName}`); const description = drop.card.subseries ?? drop.series.name; - let colour = CardRarityToColour(drop.card.type); - - if (drop.card.colour && StringTools.IsHexCode(drop.card.colour)) { - const hexCode = Number("0x" + drop.card.colour); - - if (hexCode) { - colour = hexCode; - } else { - AppLogger.LogWarn("CardDropHelperMetadata/GenerateDropEmbed", `Card's colour override is invalid: ${drop.card.id}, ${drop.card.colour}`); - } - } else if (drop.card.colour) { - AppLogger.LogWarn("CardDropHelperMetadata/GenerateDropEmbed", `Card's colour override is invalid: ${drop.card.id}, ${drop.card.colour}`); - } const embed = new EmbedBuilder() .setTitle(drop.card.name) .setDescription(description) .setFooter({ text: `${CardRarityToString(drop.card.type)} ยท ${drop.card.id}` }) - .setColor(colour) + .setColor(CardRarityToColour(drop.card.type)) .setImage(`attachment://${imageFileName}`) .addFields([ { diff --git a/src/helpers/SeriesHelper.ts b/src/helpers/SeriesHelper.ts index 5469938..c3a22d6 100644 --- a/src/helpers/SeriesHelper.ts +++ b/src/helpers/SeriesHelper.ts @@ -31,7 +31,7 @@ export default class SeriesHelper { const cardsOnPage = series.cards.splice(page * itemsPerPage, itemsPerPage); const description = cardsOnPage - .map(x => `[${x.id}] ${x.name} (${CardRarityToString(x.type)})`) + .map(x => `[${x.id}] ${x.name} ${CardRarityToString(x.type).toUpperCase()}`) .join("\n"); const embed = new EmbedBuilder() diff --git a/src/helpers/StringTools.ts b/src/helpers/StringTools.ts index 1e43ded..cb5591a 100644 --- a/src/helpers/StringTools.ts +++ b/src/helpers/StringTools.ts @@ -39,18 +39,4 @@ export default class StringTools { public static ReplaceAll(str: string, find: string, replace: string) { return str.replace(new RegExp(find, "g"), replace); } - - public static IsHexCode(str: string): boolean { - if (str.length != 6) return false; - - const characters = "0123456789abcdefABCDEF"; - - for (let i = 0; i < 6; i++) { - const char = str[i]; - - if (!characters.includes(char)) return false; - } - - return true; - } } \ No newline at end of file diff --git a/src/registry.ts b/src/registry.ts index 5ba3af6..86b2b68 100644 --- a/src/registry.ts +++ b/src/registry.ts @@ -13,7 +13,6 @@ import Inventory from "./commands/inventory"; import Resync from "./commands/resync"; import Sacrifice from "./commands/sacrifice"; import Series from "./commands/series"; -import Stats from "./commands/stats"; import Trade from "./commands/trade"; import View from "./commands/view"; @@ -43,7 +42,6 @@ export default class Registry { CoreClient.RegisterCommand("resync", new Resync()); CoreClient.RegisterCommand("sacrifice", new Sacrifice()); CoreClient.RegisterCommand("series", new Series()); - CoreClient.RegisterCommand("stats", new Stats()); CoreClient.RegisterCommand("trade", new Trade()); CoreClient.RegisterCommand("view", new View());