diff --git a/package-lock.json b/package-lock.json index f761faf..9df3a5e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1900,9 +1900,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.11.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", - "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", + "version": "20.11.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", + "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", "dependencies": { "undici-types": "~5.26.4" } @@ -4766,13 +4766,12 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.18.2", + "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.2", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -4806,6 +4805,41 @@ "node": ">= 0.10.0" } }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.1", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.5.1", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/external-editor": { "version": "3.1.0", "dev": true, diff --git a/src/buttonEvents/Claim.ts b/src/buttonEvents/Claim.ts index 53538f4..a9f8c86 100644 --- a/src/buttonEvents/Claim.ts +++ b/src/buttonEvents/Claim.ts @@ -3,7 +3,6 @@ import { ButtonEvent } from "../type/buttonEvent"; import Inventory from "../database/entities/app/Inventory"; import { CoreClient } from "../client/client"; import { default as eClaim } from "../database/entities/app/Claim"; -import AppLogger from "../client/appLogger"; export default class Claim extends ButtonEvent { public override async execute(interaction: ButtonInteraction) { @@ -14,8 +13,6 @@ export default class Claim extends ButtonEvent { const droppedBy = interaction.customId.split(" ")[3]; const userId = interaction.user.id; - AppLogger.LogSilly("Button/Claim", `Parameters: cardNumber=${cardNumber}, claimId=${claimId}, droppedBy=${droppedBy}, userId=${userId}`); - await interaction.deferReply(); const claimed = await eClaim.FetchOneByClaimId(claimId); diff --git a/src/buttonEvents/Inventory.ts b/src/buttonEvents/Inventory.ts index 7dfb305..4bfffc1 100644 --- a/src/buttonEvents/Inventory.ts +++ b/src/buttonEvents/Inventory.ts @@ -1,7 +1,6 @@ import { ButtonInteraction } from "discord.js"; import { ButtonEvent } from "../type/buttonEvent"; import InventoryHelper from "../helpers/InventoryHelper"; -import AppLogger from "../client/appLogger"; export default class Inventory extends ButtonEvent { public override async execute(interaction: ButtonInteraction) { @@ -10,8 +9,6 @@ export default class Inventory extends ButtonEvent { const userid = interaction.customId.split(" ")[1]; const page = interaction.customId.split(" ")[2]; - AppLogger.LogSilly("Button/Inventory", `Parameters: userid=${userid}, page=${page}`); - const member = interaction.guild.members.cache.find(x => x.id == userid) || await interaction.guild.members.fetch(userid); if (!member) { @@ -20,8 +17,6 @@ export default class Inventory extends ButtonEvent { } try { - AppLogger.LogVerbose("Button/Inventory", `Generating inventory page ${page} for ${member.user.username} with id ${member.user.id}`); - const embed = await InventoryHelper.GenerateInventoryPage(member.user.username, member.user.id, Number(page)); await interaction.update({ @@ -29,8 +24,7 @@ export default class Inventory extends ButtonEvent { components: [ embed.row ], }); } catch (e) { - AppLogger.LogError("Button/Inventory", `Error generating inventory page for ${member.user.username} with id ${member.user.id}: ${e}`); - + console.error(e); await interaction.reply("No page for user found."); } } diff --git a/src/buttonEvents/Reroll.ts b/src/buttonEvents/Reroll.ts index c271a3a..a265bcb 100644 --- a/src/buttonEvents/Reroll.ts +++ b/src/buttonEvents/Reroll.ts @@ -7,7 +7,6 @@ import Inventory from "../database/entities/app/Inventory"; import Config from "../database/entities/app/Config"; import CardDropHelperMetadata from "../helpers/CardDropHelperMetadata"; import path from "path"; -import AppLogger from "../client/appLogger"; export default class Reroll extends ButtonEvent { public override async execute(interaction: ButtonInteraction) { @@ -17,8 +16,6 @@ export default class Reroll extends ButtonEvent { } if (await Config.GetValue("safemode") == "true") { - AppLogger.LogWarn("Button/Reroll", "Safe Mode is active, refusing to send next drop."); - await interaction.reply("Safe Mode has been activated, please resync to continue."); return; } @@ -33,8 +30,6 @@ export default class Reroll extends ButtonEvent { await interaction.deferReply(); try { - AppLogger.LogVerbose("Button/Reroll", `Sending next drop: ${randomCard.card.id} (${randomCard.card.name})`); - const image = readFileSync(path.join(process.env.DATA_DIR!, "cards", randomCard.card.path)); const imageFileName = randomCard.card.path.split("/").pop()!; @@ -56,8 +51,9 @@ export default class Reroll extends ButtonEvent { }); CoreClient.ClaimId = claimId; + } catch (e) { - AppLogger.LogError("Button/Reroll", `Error sending next drop for card ${randomCard.card.id}: ${e}`); + console.error(e); await interaction.editReply(`Unable to send next drop. Please try again, and report this if it keeps happening. (${randomCard.card.id})`); } diff --git a/src/buttonEvents/Trade.ts b/src/buttonEvents/Trade.ts index 9ce4e56..28b08ee 100644 --- a/src/buttonEvents/Trade.ts +++ b/src/buttonEvents/Trade.ts @@ -3,14 +3,11 @@ import { ButtonEvent } from "../type/buttonEvent"; import { CoreClient } from "../client/client"; import Inventory from "../database/entities/app/Inventory"; import EmbedColours from "../constants/EmbedColours"; -import AppLogger from "../client/appLogger"; export default class Trade extends ButtonEvent { public override async execute(interaction: ButtonInteraction) { const action = interaction.customId.split(" ")[1]; - AppLogger.LogSilly("Button/Trade", `Parameters: action=${action}`); - switch (action) { case "accept": await this.AcceptTrade(interaction); @@ -29,8 +26,6 @@ export default class Trade extends ButtonEvent { const expiry = interaction.customId.split(" ")[6]; const timeoutId = interaction.customId.split(" ")[7]; - AppLogger.LogSilly("Button/Trade/AcceptTrade", `Parameters: giveUserId=${giveUserId}, receiveUserId=${receiveUserId}, giveCardNumber=${giveCardNumber}, receiveCardNumber=${receiveCardNumber}, expiry=${expiry}, timeoutId=${timeoutId}`); - const expiryDate = new Date(expiry); if (expiryDate < new Date()) { @@ -105,13 +100,13 @@ export default class Trade extends ButtonEvent { .setImage("https://i.imgur.com/9w5f1ls.gif") .addFields([ { - name: "I receieve", - value: `${receiveItem.id}: ${receiveItem.name}`, + name: `${receiveUser.username} is giving`, + value: `${giveItem.id}: ${giveItem.name}`, inline: true, }, { - name: "You receieve", - value: `${giveItem.id}: ${giveItem.name}`, + name: `${giveUser.username} is giving`, + value: `${receiveItem.id}: ${receiveItem.name}`, inline: true, }, { @@ -145,9 +140,7 @@ export default class Trade extends ButtonEvent { // No need to get expiry date const timeoutId = interaction.customId.split(" ")[7]; - AppLogger.LogSilly("Button/Trade/DeclineTrade", `Parameters: giveUserId=${giveUserId}, receiveUserId=${receiveUserId}, giveCardNumber=${giveCardNumber}, receiveCardNumber=${receiveCardNumber}, timeoutId=${timeoutId}`); - - if (interaction.user.id != receiveUserId && interaction.user.id !==giveUserId) { + if (interaction.user.id !== receiveUserId || interaction.user.id !== giveUserId) { await interaction.reply("You are not the user who the trade is intended for"); return; } @@ -177,13 +170,13 @@ export default class Trade extends ButtonEvent { .setImage("https://i.imgur.com/9w5f1ls.gif") .addFields([ { - name: "I Receive", - value: `${receiveItem.id}: ${receiveItem.name}`, + name: `${receiveUser.username} is giving`, + value: `${giveItem.id}: ${giveItem.name}`, inline: true, }, { - name: "You Receive", - value: `${giveItem.id}: ${giveItem.name}`, + name: `${giveUser.username} is giving`, + value: `${receiveItem.id}: ${receiveItem.name}`, inline: true, }, { diff --git a/src/client/appLogger.ts b/src/client/appLogger.ts index e865e48..b06627b 100644 --- a/src/client/appLogger.ts +++ b/src/client/appLogger.ts @@ -1,9 +1,8 @@ import { Logger, createLogger, format, transports } from "winston"; +import { CoreClient } from "./client"; export default class AppLogger { - public static Logger: Logger; - - public static InitialiseLogger(logLevel: string, outputToConsole: boolean) { + public static InitialiseLogger(logLevel: string, outputToConsole: boolean): Logger { const customFormat = format.printf(({ level, message, timestamp, label }) => { return `${timestamp} [${label}] ${level}: ${message}`; }); @@ -34,30 +33,30 @@ export default class AppLogger { )})); } - AppLogger.Logger = logger; + return logger; } public static LogError(label: string, message: string) { - AppLogger.Logger.error({ label, message }); + CoreClient.Logger.error({ label, message }); } public static LogWarn(label: string, message: string) { - AppLogger.Logger.warn({ label, message }); + CoreClient.Logger.warn({ label, message }); } public static LogInfo(label: string, message: string) { - AppLogger.Logger.info({ label, message }); + CoreClient.Logger.info({ label, message }); } public static LogVerbose(label: string, message: string) { - AppLogger.Logger.verbose({ label, message }); + CoreClient.Logger.verbose({ label, message }); } public static LogDebug(label: string, message: string) { - AppLogger.Logger.debug({ label, message }); + CoreClient.Logger.debug({ label, message }); } public static LogSilly(label: string, message: string) { - AppLogger.Logger.silly({ label, message }); + CoreClient.Logger.silly({ label, message }); } } \ No newline at end of file diff --git a/src/client/client.ts b/src/client/client.ts index 92fbc5e..b31cd3d 100644 --- a/src/client/client.ts +++ b/src/client/client.ts @@ -13,6 +13,7 @@ import { Environment } from "../constants/Environment"; import Webhooks from "../webhooks"; import CardMetadataFunction from "../Functions/CardMetadataFunction"; import { SeriesMetadata } from "../contracts/SeriesMetadata"; +import { Logger } from "winston"; import AppLogger from "./appLogger"; export class CoreClient extends Client { @@ -28,6 +29,7 @@ export class CoreClient extends Client { public static Environment: Environment; public static AllowDrops: boolean; public static Cards: SeriesMetadata[]; + public static Logger: Logger; public static get commandItems(): ICommandItem[] { return this._commandItems; @@ -47,9 +49,7 @@ export class CoreClient extends Client { CoreClient.Environment = Number(process.env.BOT_ENV); - AppLogger.InitialiseLogger(process.env.BOT_VERBOSE == "true" ? "verbose" : "info", CoreClient.Environment == Environment.Local); - - AppLogger.LogInfo("Client", "Initialising Client"); + CoreClient.Logger = AppLogger.InitialiseLogger(process.env.BOT_VERBOSE == "true" ? "verbose" : "info", CoreClient.Environment == Environment.Local); CoreClient._commandItems = []; CoreClient._buttonEvents = []; @@ -58,24 +58,20 @@ export class CoreClient extends Client { this._util = new Util(); this._webhooks = new Webhooks(); - AppLogger.LogInfo("Client", `Environment: ${CoreClient.Environment}`); + console.log(`Bot Environment: ${CoreClient.Environment}`); CoreClient.AllowDrops = true; } public async start() { if (!process.env.BOT_TOKEN) { - AppLogger.LogError("Client", "BOT_TOKEN is not defined in .env"); + console.error("BOT_TOKEN is not defined in .env"); return; } await AppDataSource.initialize() - .then(() => AppLogger.LogInfo("Client", "App Data Source Initialised")) - .catch(err => { - AppLogger.LogError("Client", "App Data Source Initialisation Failed"); - AppLogger.LogError("Client", err); - throw err; - }); + .then(() => console.log("App Data Source Initialised")) + .catch(err => console.error("Error initialising App Data Source", err)); super.on("interactionCreate", this._events.onInteractionCreate); super.on("ready", this._events.onReady); @@ -100,8 +96,6 @@ export class CoreClient extends Client { if ((environment & CoreClient.Environment) == CoreClient.Environment) { CoreClient._commandItems.push(item); - - AppLogger.LogVerbose("Client", `Registered Command: ${name}`); } } @@ -124,8 +118,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Channel Create Event`); } public static RegisterChannelDeleteEvent(fn: (channel: DMChannel | NonThreadGuildBasedChannel) => void) { @@ -147,8 +139,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Channel Delete Event`); } public static RegisterChannelUpdateEvent(fn: (channel: DMChannel | NonThreadGuildBasedChannel) => void) { @@ -170,8 +160,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Channel Update Event`); } public static RegisterGuildBanAddEvent(fn: (ban: GuildBan) => void) { @@ -193,8 +181,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Guild Ban Add Event`); } public static RegisterGuildBanRemoveEvent(fn: (channel: GuildBan) => void) { @@ -216,8 +202,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Guild Ban Remove Event`); } public static RegisterGuildCreateEvent(fn: (guild: Guild) => void) { @@ -239,8 +223,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Guild Create Event`); } public static RegisterGuildMemberAddEvent(fn: (member: GuildMember) => void) { @@ -262,8 +244,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Guild Member Add Event`); } public static RegisterGuildMemberRemoveEvent(fn: (member: GuildMember | PartialGuildMember) => void) { @@ -285,8 +265,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Guild Member Remove Event`); } public static GuildMemebrUpdate(fn: (oldMember: GuildMember | PartialGuildMember, newMember: GuildMember) => void) { @@ -308,8 +286,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Guild Member Update Event`); } public static RegisterMessageCreateEvent(fn: (message: Message) => void) { @@ -331,8 +307,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Message Create Event`); } public static RegisterMessageDeleteEvent(fn: (message: Message | PartialMessage) => void) { @@ -354,8 +328,6 @@ export class CoreClient extends Client { MessageUpdate: [], }; } - - AppLogger.LogVerbose("Client", `Registered Message Delete Event`); } public static RegisterMessageUpdateEvent(fn: (oldMessage: Message | PartialMessage, newMessage: Message | PartialMessage) => void) { @@ -377,8 +349,6 @@ export class CoreClient extends Client { MessageUpdate: [ fn ], }; } - - AppLogger.LogVerbose("Client", `Registered Message Update Event`); } public static RegisterButtonEvent(buttonId: string, event: ButtonEvent, environment: Environment = Environment.All) { @@ -390,8 +360,6 @@ export class CoreClient extends Client { if ((environment & CoreClient.Environment) == CoreClient.Environment) { CoreClient._buttonEvents.push(item); - - AppLogger.LogVerbose("Client", `Registered Button Event: ${buttonId}`); } } } diff --git a/src/client/events.ts b/src/client/events.ts index 0b82cee..db6cfc4 100644 --- a/src/client/events.ts +++ b/src/client/events.ts @@ -1,25 +1,22 @@ import { Interaction } from "discord.js"; import ChatInputCommand from "./interactionCreate/ChatInputCommand"; import Button from "./interactionCreate/Button"; -import AppLogger from "./appLogger"; export class Events { public async onInteractionCreate(interaction: Interaction) { if (!interaction.guildId) return; if (interaction.isChatInputCommand()) { - AppLogger.LogVerbose("Client", `ChatInputCommand: ${interaction.commandName}`); ChatInputCommand.onChatInput(interaction); } if (interaction.isButton()) { - AppLogger.LogVerbose("Client", `Button: ${interaction.customId}`); Button.onButtonClicked(interaction); } } // Emit when bot is logged in and ready to use public onReady() { - AppLogger.LogInfo("Client", "Ready"); + console.log("Ready"); } } diff --git a/src/client/interactionCreate/Button.ts b/src/client/interactionCreate/Button.ts index b8abbfc..6d6a926 100644 --- a/src/client/interactionCreate/Button.ts +++ b/src/client/interactionCreate/Button.ts @@ -1,6 +1,5 @@ import { ButtonInteraction } from "discord.js"; import { CoreClient } from "../client"; -import AppLogger from "../appLogger"; export default class Button { public static async onButtonClicked(interaction: ButtonInteraction) { @@ -9,19 +8,14 @@ export default class Button { const item = CoreClient.buttonEvents.find(x => x.ButtonId == interaction.customId.split(" ")[0]); if (!item) { - AppLogger.LogVerbose("Button", `Event not found: ${interaction.customId}`); - await interaction.reply("Event not found"); return; } try { - AppLogger.LogDebug("Button", `Executing ${interaction.customId}`); - item.Event.execute(interaction); } catch (e) { - AppLogger.LogError("Button", `Error occurred while executing event: ${interaction.customId}`); - AppLogger.LogError("Button", e as string); + console.error(e); await interaction.reply("An error occurred while executing the event"); } diff --git a/src/client/interactionCreate/ChatInputCommand.ts b/src/client/interactionCreate/ChatInputCommand.ts index 47f7b37..784ce6e 100644 --- a/src/client/interactionCreate/ChatInputCommand.ts +++ b/src/client/interactionCreate/ChatInputCommand.ts @@ -1,7 +1,6 @@ import { Interaction } from "discord.js"; import { CoreClient } from "../client"; import ICommandItem from "../../contracts/ICommandItem"; -import AppLogger from "../appLogger"; export default class ChatInputCommand { public static async onChatInput(interaction: Interaction) { @@ -14,8 +13,6 @@ export default class ChatInputCommand { if (!itemForServer) { if (!item) { - AppLogger.LogVerbose("ChatInputCommand", `Command not found: ${interaction.commandName}`); - await interaction.reply("Command not found"); return; } @@ -26,12 +23,9 @@ export default class ChatInputCommand { } try { - AppLogger.LogDebug("Command", `Executing ${interaction.commandName}`); - itemToUse.Command.execute(interaction); } catch (e) { - AppLogger.LogError("ChatInputCommand", `Error occurred while executing command: ${interaction.commandName}`); - AppLogger.LogError("ChatInputCommand", e as string); + console.error(e); await interaction.reply("An error occurred while executing the command"); } diff --git a/src/client/util.ts b/src/client/util.ts index 47daa3d..ddd84fc 100644 --- a/src/client/util.ts +++ b/src/client/util.ts @@ -1,7 +1,6 @@ import { Client, REST, Routes, SlashCommandBuilder } from "discord.js"; import EventExecutors from "../contracts/EventExecutors"; import { CoreClient } from "./client"; -import AppLogger from "./appLogger"; export class Util { public loadSlashCommands(client: Client) { @@ -30,8 +29,6 @@ export class Util { const rest = new REST({ version: "10" }).setToken(process.env.BOT_TOKEN!); - AppLogger.LogVerbose("Util", `REST PUT: ${globalCommandData.flatMap(x => x.name).join(", ")}`); - rest.put( Routes.applicationCommands(process.env.BOT_CLIENTID!), { @@ -52,8 +49,6 @@ export class Util { if (!client.guilds.cache.has(guild)) continue; - AppLogger.LogVerbose("Util", `REST PUT: ${guild} - ${guildCommandData.flatMap(x => x.name).join(", ")}`); - rest.put( Routes.applicationGuildCommands(process.env.BOT_CLIENTID!, guild), { diff --git a/src/commands/drop.ts b/src/commands/drop.ts index 65b2b3e..e671e76 100644 --- a/src/commands/drop.ts +++ b/src/commands/drop.ts @@ -7,7 +7,6 @@ import Inventory from "../database/entities/app/Inventory"; import Config from "../database/entities/app/Config"; import CardDropHelperMetadata from "../helpers/CardDropHelperMetadata"; import path from "path"; -import AppLogger from "../client/appLogger"; export default class Drop extends Command { constructor() { @@ -25,8 +24,6 @@ export default class Drop extends Command { } if (await Config.GetValue("safemode") == "true") { - AppLogger.LogWarn("Commands/Drop", "Safe Mode is active, refusing to send next drop."); - await interaction.reply("Safe Mode has been activated, please resync to continue."); return; } @@ -64,7 +61,7 @@ export default class Drop extends Command { CoreClient.ClaimId = claimId; } catch (e) { - AppLogger.LogError("Commands/Drop", `Error sending next drop for card ${randomCard.card.id}: ${e}`); + console.error(e); await interaction.editReply(`Unable to send next drop. Please try again, and report this if it keeps happening. (${randomCard.card.id})`); } diff --git a/src/commands/gdrivesync.ts b/src/commands/gdrivesync.ts index b02c873..c8a393c 100644 --- a/src/commands/gdrivesync.ts +++ b/src/commands/gdrivesync.ts @@ -4,7 +4,6 @@ import { ExecException, exec } from "child_process"; import { CoreClient } from "../client/client"; import Config from "../database/entities/app/Config"; import CardMetadataFunction from "../Functions/CardMetadataFunction"; -import AppLogger from "../client/appLogger"; export default class Gdrivesync extends Command { constructor() { @@ -33,28 +32,19 @@ export default class Gdrivesync extends Command { CoreClient.AllowDrops = false; - AppLogger.LogInfo("Commands/GDriveSync", "Syncing google drive to the bot"); - exec(`rclone sync card-drop-gdrive: ${process.env.DATA_DIR}/cards`, async (error: ExecException | null) => { if (error) { - AppLogger.LogError("Commands/GDriveSync", `Error while running sync command: ${error.code}, ${error.message}`); - AppLogger.LogWarn("Commands/GDriveSync", "Safe mode activated"); - await interaction.editReply(`Error while running sync command. Safe Mode has been activated. Code: ${error.code}`); await Config.SetValue("safemode", "true"); } else { const result = await CardMetadataFunction.Execute(true); if (result.IsSuccess) { - AppLogger.LogInfo("Commands/GDriveSync", "Synced successfully"); - await interaction.editReply("Synced successfully."); CoreClient.AllowDrops = true; await Config.SetValue("safemode", "false"); } else { - AppLogger.LogError("Commands/GDriveSync", `Error while running sync command: ${result.ErrorMessage}`); - await interaction.editReply(`Sync failed \`\`\`${result.ErrorMessage}\`\`\``); } } diff --git a/src/commands/give.ts b/src/commands/give.ts index 5121dda..ad360a9 100644 --- a/src/commands/give.ts +++ b/src/commands/give.ts @@ -4,7 +4,6 @@ import { CoreClient } from "../client/client"; import Config from "../database/entities/app/Config"; import CardDropHelperMetadata from "../helpers/CardDropHelperMetadata"; import Inventory from "../database/entities/app/Inventory"; -import AppLogger from "../client/appLogger"; export default class Give extends Command { constructor() { @@ -47,8 +46,6 @@ export default class Give extends Command { const cardNumber = interaction.options.get("cardnumber", true); const user = interaction.options.getUser("user", true); - AppLogger.LogSilly("Commands/Give", `Parameters: cardNumber=${cardNumber.value}, user=${user.id}`); - const card = CardDropHelperMetadata.GetCardByCardNumber(cardNumber.value!.toString()); if (!card) { @@ -66,6 +63,6 @@ export default class Give extends Command { await inventory.Save(Inventory, inventory); - await interaction.reply(`${card.name} given to ${user.username}, they now have ${inventory.Quantity}`); + await interaction.reply(`${card.name} given to ${interaction.user}, they now have ${inventory.Quantity}`); } } \ No newline at end of file diff --git a/src/commands/inventory.ts b/src/commands/inventory.ts index 6c5ee51..868b14d 100644 --- a/src/commands/inventory.ts +++ b/src/commands/inventory.ts @@ -1,7 +1,6 @@ import { CommandInteraction, SlashCommandBuilder } from "discord.js"; import { Command } from "../type/command"; import InventoryHelper from "../helpers/InventoryHelper"; -import AppLogger from "../client/appLogger"; export default class Inventory extends Command { constructor() { @@ -24,8 +23,6 @@ export default class Inventory extends Command { const page = interaction.options.get("page"); const user = interaction.options.getUser("user") || interaction.user; - AppLogger.LogSilly("Commands/Inventory", `Parameters: page=${page?.value}, user=${user.id}`); - try { let pageNumber = 0; diff --git a/src/commands/resync.ts b/src/commands/resync.ts index 887208f..7040d52 100644 --- a/src/commands/resync.ts +++ b/src/commands/resync.ts @@ -2,7 +2,6 @@ import { CacheType, CommandInteraction, PermissionsBitField, SlashCommandBuilder import { Command } from "../type/command"; import Config from "../database/entities/app/Config"; import CardMetadataFunction from "../Functions/CardMetadataFunction"; -import AppLogger from "../client/appLogger"; export default class Resync extends Command { constructor() { @@ -24,8 +23,6 @@ export default class Resync extends Command { return; } - AppLogger.LogInfo("Commands/Resync", "Resyncing database"); - const result = await CardMetadataFunction.Execute(true); if (result) { @@ -37,8 +34,6 @@ export default class Resync extends Command { } await interaction.reply("Resynced database."); } else { - AppLogger.LogWarn("Commands/Resync", "Resync failed, safe mode activated"); - await interaction.reply("Resync failed, safe mode has been activated until successful resync."); } } diff --git a/src/commands/trade.ts b/src/commands/trade.ts index 60f9033..60e78d8 100644 --- a/src/commands/trade.ts +++ b/src/commands/trade.ts @@ -3,7 +3,6 @@ import { Command } from "../type/command"; import Inventory from "../database/entities/app/Inventory"; import { CoreClient } from "../client/client"; import EmbedColours from "../constants/EmbedColours"; -import AppLogger from "../client/appLogger"; export default class Trade extends Command { constructor() { @@ -34,8 +33,6 @@ export default class Trade extends Command { const give = interaction.options.get("give")!; const receive = interaction.options.get("receive")!; - AppLogger.LogSilly("Commands/Trade", `Parameters: user=${user.id}, give=${give.value}, receive=${receive.value}`); - const giveItemEntity = await Inventory.FetchOneByCardNumberAndUserId(interaction.user.id, give.value!.toString()); const receiveItemEntity = await Inventory.FetchOneByCardNumberAndUserId(user.id, receive.value!.toString()); @@ -66,19 +63,19 @@ export default class Trade extends Command { const expiry = now.setMinutes(now.getMinutes() + 15); const tradeEmbed = new EmbedBuilder() - .setTitle("⚠️ Trade Offer ⚠️") + .setTitle("Trade Offer") .setDescription(`Trade initiated between ${interaction.user.username} and ${user.username}`) .setColor(EmbedColours.Grey) .setImage("https://media1.tenor.com/m/KkZwKl2AQ2QAAAAd/trade-offer.gif") .addFields([ { - name: "I Receive", - value: `${receiveItem.id}: ${receiveItem.name}`, + name: `${interaction.user.username} is giving`, + value: `${giveItem.id}: ${giveItem.name}`, inline: true, }, { - name: "You Receive", - value: `${giveItem.id}: ${giveItem.name}`, + name: `${user.username} is giving`, + value: `${receiveItem.id}: ${receiveItem.name}`, inline: true, }, { @@ -105,8 +102,6 @@ export default class Trade extends Command { } private async autoDecline(interaction: CommandInteraction, giveUsername: string, receiveUsername: string, giveCardNumber: string, receiveCardNumber: string, giveCardName: string, receiveCardName: string) { - AppLogger.LogSilly("Commands/Trade/AutoDecline", `Auto declining trade between ${giveUsername} and ${receiveUsername}`); - const tradeEmbed = new EmbedBuilder() .setTitle("Trade Expired") .setDescription(`Trade initiated between ${receiveUsername} and ${giveUsername}`) @@ -114,13 +109,13 @@ export default class Trade extends Command { .setImage("https://media1.tenor.com/m/KkZwKl2AQ2QAAAAd/trade-offer.gif") .addFields([ { - name: "I Receive", - value: `${receiveCardNumber}: ${receiveCardName}`, + name: `${receiveUsername} is giving`, + value: `${giveCardNumber}: ${giveCardName}`, inline: true, }, { - name: "You Receive", - value: `${giveCardNumber}: ${giveCardName}`, + name: `${giveUsername} is giving`, + value: `${receiveCardNumber}: ${receiveCardName}`, inline: true, }, { diff --git a/src/commands/view.ts b/src/commands/view.ts index ce6f9cb..8f89eb4 100644 --- a/src/commands/view.ts +++ b/src/commands/view.ts @@ -5,7 +5,6 @@ import { readFileSync } from "fs"; import path from "path"; import Inventory from "../database/entities/app/Inventory"; import CardDropHelperMetadata from "../helpers/CardDropHelperMetadata"; -import AppLogger from "../client/appLogger"; export default class View extends Command { constructor() { @@ -24,8 +23,6 @@ export default class View extends Command { public override async execute(interaction: CommandInteraction) { const cardNumber = interaction.options.get("cardnumber"); - AppLogger.LogSilly("Commands/View", `Parameters: cardNumber=${cardNumber?.value}`); - if (!cardNumber || !cardNumber.value) { await interaction.reply("Card number is required."); return; @@ -49,8 +46,6 @@ export default class View extends Command { try { image = readFileSync(path.join(process.env.DATA_DIR!, "cards", card.path)); } catch { - AppLogger.LogError("Commands/View", `Unable to fetch image for card ${card.id}.`); - await interaction.reply(`Unable to fetch image for card ${card.id}.`); return; } @@ -70,7 +65,7 @@ export default class View extends Command { files: [ attachment ], }); } catch (e) { - AppLogger.LogError("Commands/View", `Error sending view for card ${card.id}: ${e}`); + console.error(e); if (e instanceof DiscordAPIError) { await interaction.editReply(`Unable to send next drop. Please try again, and report this if it keeps happening. Code: ${e.code}.`);