diff --git a/src/events/guildCreate/index.ts b/src/events/guildCreate/index.ts index 31e87b2..01b70f6 100644 --- a/src/events/guildCreate/index.ts +++ b/src/events/guildCreate/index.ts @@ -10,7 +10,7 @@ export default { async execute(guild: Guild) { const { client } = guild; - logger?.verbose(`Added to guild: ${guild.name} (${guild.id})`); + logger?.silly(`Added to guild: ${guild.name} (${guild.id})`); await fetchGuild(guild); await updatePresence(client); diff --git a/src/events/guildDelete/index.ts b/src/events/guildDelete/index.ts index 6da6f4a..123393c 100644 --- a/src/events/guildDelete/index.ts +++ b/src/events/guildDelete/index.ts @@ -10,7 +10,7 @@ export default { async execute(guild: Guild) { const { client } = guild; - logger?.verbose(`Deleted from guild: ${guild.name} (${guild.id})`); + logger?.silly(`Deleted from guild: ${guild.name} (${guild.id})`); await dropGuild(guild); await updatePresence(client); diff --git a/src/events/guildMemberAdd/index.ts b/src/events/guildMemberAdd/index.ts index b99d7ad..9ece541 100644 --- a/src/events/guildMemberAdd/index.ts +++ b/src/events/guildMemberAdd/index.ts @@ -12,7 +12,7 @@ export default { async execute(member: GuildMember) { const { client, user, guild } = member; - logger?.verbose( + logger?.silly( `New member: ${user.tag} (${user.id}) added to guild: ${guild.name} (${guild.id})` ); diff --git a/src/events/guildMemberRemove/index.ts b/src/events/guildMemberRemove/index.ts index 332f143..3d28c31 100644 --- a/src/events/guildMemberRemove/index.ts +++ b/src/events/guildMemberRemove/index.ts @@ -12,7 +12,7 @@ export default { async execute(member: GuildMember) { const { client, user, guild } = member; - logger?.verbose( + logger?.silly( `Removed member: ${user.tag} (${user.id}) from guild: ${guild.name} (${guild.id})` ); diff --git a/src/events/index.ts b/src/events/index.ts new file mode 100644 index 0000000..b7dd3b6 --- /dev/null +++ b/src/events/index.ts @@ -0,0 +1,22 @@ +// 3rd party dependencies +import mongoose from "mongoose"; + +// Dependencies +import logger from "@logger"; + +// Configuration +import { url } from "@config/database"; + +export default async () => { + await mongoose.connect(url).then(async (connection) => { + logger.info(`Connected to database: ${connection.connection.name}`); + }); + + mongoose.connection.on("error", async (error) => { + logger.error(`${error}`); + }); + + mongoose.connection.on("warn", async (warning) => { + logger.warn(warning); + }); +}; diff --git a/src/events/interactionCreate/components/isCommand.ts b/src/events/interactionCreate/components/isCommand.ts index fa6677b..cb5b716 100644 --- a/src/events/interactionCreate/components/isCommand.ts +++ b/src/events/interactionCreate/components/isCommand.ts @@ -4,7 +4,6 @@ import { CommandInteraction, MessageEmbed } from "discord.js"; import logger from "@logger"; import { errorColor, footerText, footerIcon } from "@config/embed"; -import i18next from "i18next"; import deferReply from "@root/helpers/deferReply"; import getCommandMetadata from "@root/helpers/getCommandMetadata"; @@ -31,7 +30,7 @@ export default async (interaction: CommandInteraction) => { return interaction?.editReply({ embeds: [ new MessageEmbed() - .setTitle("[:toolbox:] Manage") + .setTitle("[:x:] Permission") .setDescription(`You do not have the permission to manage the bot.`) .setTimestamp(new Date()) .setColor(errorColor) @@ -42,17 +41,12 @@ export default async (interaction: CommandInteraction) => { if (metadata.guildOnly) { if (!guild) { - logger.verbose(`Guild is null`); + logger.debug(`Guild is null`); return interaction.editReply({ embeds: [ new MessageEmbed() - .setDescription( - i18next.t("guildOnly", { - lng: interaction.locale, - ns: "errors", - }) - ) + .setDescription("This command is only available for guild") .setColor(errorColor) .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }), @@ -63,17 +57,12 @@ export default async (interaction: CommandInteraction) => { if (metadata.dmOnly) { if (guild) { - logger.verbose(`Guild exist`); + logger.silly(`Guild exist`); return interaction.editReply({ embeds: [ new MessageEmbed() - .setDescription( - i18next.t("dmOnly", { - lng: interaction.locale, - ns: "errors", - }) - ) + .setDescription("This command is only available in DM.") .setColor(errorColor) .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }), @@ -85,7 +74,7 @@ export default async (interaction: CommandInteraction) => { await currentCommand .execute(interaction) .then(async () => { - return logger?.verbose( + return logger?.silly( `Command: ${commandName} executed in guild: ${guild?.name} (${guild?.id}) by user: ${user?.tag} (${user?.id})` ); }) diff --git a/src/events/interactionCreate/index.ts b/src/events/interactionCreate/index.ts index befd29f..2848f39 100644 --- a/src/events/interactionCreate/index.ts +++ b/src/events/interactionCreate/index.ts @@ -10,7 +10,7 @@ export default { async execute(interaction: CommandInteraction) { const { guild, id } = interaction; - logger?.verbose( + logger?.silly( `New interaction: ${id} in guild: ${guild?.name} (${guild?.id})` ); diff --git a/src/events/messageCreate/modules/counters/index.ts b/src/events/messageCreate/modules/counters/index.ts index 6f852c7..a65a4db 100644 --- a/src/events/messageCreate/modules/counters/index.ts +++ b/src/events/messageCreate/modules/counters/index.ts @@ -23,7 +23,7 @@ export default { }); if (counter === null) { - logger.verbose( + logger.silly( `No counter found for guild ${guildId} and channel ${channelId}` ); return; @@ -33,7 +33,7 @@ export default { lastMessage?.author.id === author.id && channel.id === counter.channelId ) { - logger.verbose( + logger.silly( `${author.username} sent the last message therefor not allowing again.` ); await message.delete(); @@ -41,7 +41,7 @@ export default { } if (content !== counter.word) { - logger.verbose( + logger.silly( `Counter word ${counter.word} does not match message ${content}` ); @@ -53,7 +53,7 @@ export default { await counter .save() .then(async () => { - logger.verbose( + logger.silly( `Counter for guild ${guildId} and channel ${channelId} is now ${counter.counter}` ); }) @@ -64,7 +64,7 @@ export default { ); }); - logger.verbose( + logger.silly( `Counter word ${counter.word} was found in message ${content} from ${author.tag} (${author.id}) in guild: ${guild?.name} (${guild?.id})` ); }, diff --git a/src/events/messageCreate/modules/credits/index.ts b/src/events/messageCreate/modules/credits/index.ts index e7f4de4..856c308 100644 --- a/src/events/messageCreate/modules/credits/index.ts +++ b/src/events/messageCreate/modules/credits/index.ts @@ -30,7 +30,7 @@ export default { const timeout = await timeouts.findOne(timeoutData); if (timeout) { - logger.verbose( + logger.silly( `User ${userId} in guild ${guildId} is on timeout 2022-04-14-13-51-00` ); return; @@ -41,7 +41,7 @@ export default { await userData .save() .then(async () => { - logger.verbose( + logger.silly( `User ${userId} in guild ${guildId} has ${userData.credits} credits` ); }) @@ -55,7 +55,7 @@ export default { await timeouts .create(timeoutData) .then(async () => { - logger.verbose( + logger.silly( `Timeout 2022-04-14-13-51-00 for user ${userId} in guild ${guildId} has been created` ); }) @@ -70,7 +70,7 @@ export default { await timeouts .deleteOne(timeoutData) .then(async () => { - logger.verbose( + logger.silly( `Timeout 2022-04-14-13-51-00 for user ${userId} in guild ${guildId} has been deleted` ); }) diff --git a/src/events/messageCreate/modules/points/index.ts b/src/events/messageCreate/modules/points/index.ts index f9a45f1..e4d3aa4 100644 --- a/src/events/messageCreate/modules/points/index.ts +++ b/src/events/messageCreate/modules/points/index.ts @@ -30,7 +30,7 @@ export default { const timeout = await timeouts.findOne(timeoutData); if (timeout) { - logger.verbose( + logger.silly( `User ${author.tag} (${author.id}) in guild: ${guild?.name} (${guild?.id} is on timeout 2022-04-14-14-15-00` ); return; @@ -41,7 +41,7 @@ export default { await userData .save() .then(async () => { - logger.verbose( + logger.silly( `Successfully saved user ${author.tag} (${author.id}) in guild: ${guild?.name} (${guild?.id})` ); }) @@ -52,14 +52,14 @@ export default { ); }); - logger.verbose( + logger.silly( `User ${author.tag} (${author.id}) in guild: ${guild?.name} (${guild?.id}) has ${userData.points} points` ); await timeouts .create(timeoutData) .then(async () => { - logger.verbose( + logger.silly( `Successfully created timeout for user ${author.tag} (${author.id}) in guild: ${guild?.name} (${guild?.id})` ); }) @@ -74,7 +74,7 @@ export default { await timeouts .deleteOne(timeoutData) .then(async () => { - logger.verbose( + logger.silly( `Successfully deleted timeout 2022-04-14-14-15-00 for user ${author.tag} (${author.id}) in guild: ${guild?.name} (${guild?.id})` ); }) diff --git a/src/events/messageDelete/modules/counter.ts b/src/events/messageDelete/modules/counter.ts index d2c207e..6169b45 100644 --- a/src/events/messageDelete/modules/counter.ts +++ b/src/events/messageDelete/modules/counter.ts @@ -14,7 +14,7 @@ export default async (message: Message) => { }); if (counter === null) - return logger?.verbose( + return logger?.silly( `No counter found for guild: ${guild?.name} (${guild?.id})` ); const { word } = counter; @@ -29,8 +29,8 @@ export default async (message: Message) => { if (lastMessage.author.id === message.author.id) return; channel?.send(`${author} said **${word}**.`); - logger?.verbose(`${author} said ${word} in ${channel}`); - return logger?.verbose( + logger?.silly(`${author} said ${word} in ${channel}`); + return logger?.silly( `User: ${author?.tag} (${author?.id}) in guild: ${guild?.name} (${guild?.id}) said the counter word: ${word}` ); }; diff --git a/src/events/messageUpdate/index.ts b/src/events/messageUpdate/index.ts index 0ff405e..9238805 100644 --- a/src/events/messageUpdate/index.ts +++ b/src/events/messageUpdate/index.ts @@ -13,12 +13,11 @@ export default { await audits.execute(oldMessage, newMessage); - logger?.verbose( + logger?.silly( `Message update event fired by ${author.tag} (${author.id}) in guild: ${guild?.name} (${guild?.id})` ); - if (author?.bot) - return logger?.verbose(`Message update event fired by bot`); + if (author?.bot) return logger?.silly(`Message update event fired by bot`); await counter(newMessage); }, diff --git a/src/events/messageUpdate/modules/counter.ts b/src/events/messageUpdate/modules/counter.ts index 9c65ab3..465b00a 100644 --- a/src/events/messageUpdate/modules/counter.ts +++ b/src/events/messageUpdate/modules/counter.ts @@ -14,12 +14,12 @@ export default async (message: Message) => { }); if (counter === null) - return logger?.verbose( + return logger?.silly( `No counter found for guild: ${guild?.name} (${guild?.id})` ); const { word } = counter; if (content === word) - return logger?.verbose( + return logger?.silly( `User: ${author?.tag} (${author?.id}) in guild: ${guild?.name} (${guild?.id}) said the counter word: ${word}` ); @@ -27,7 +27,7 @@ export default async (message: Message) => { ?.delete() ?.then(async () => { await channel?.send(`${author} said **${word}**.`); - logger?.verbose(`${author} said ${word} in ${channel}`); + logger?.silly(`${author} said ${word} in ${channel}`); }) ?.catch(async (error: any) => { logger?.error(error); diff --git a/src/events/ready/index.ts b/src/events/ready/index.ts index 4e7684f..b312f73 100644 --- a/src/events/ready/index.ts +++ b/src/events/ready/index.ts @@ -10,14 +10,14 @@ import devMode from "@handlers/devMode"; export default { once: true, async execute(client: Client) { - logger.info(`${client.user?.tag} (${client.user?.id}) is ready`); + logger.info("Ready!"); await updatePresence(client); await devMode(client); await deployCommands(client); client.guilds?.cache.forEach((guild) => { - logger.verbose( + logger.silly( `${client.user?.tag} (${client.user?.id}) is in guild: ${guild.name} (${guild.id}) with member count of ${guild.memberCount}` ); }); diff --git a/src/handlers/commands.ts b/src/handlers/commands.ts index 9c109c4..81b1eeb 100644 --- a/src/handlers/commands.ts +++ b/src/handlers/commands.ts @@ -12,7 +12,7 @@ export default async (client: Client) => { } await Promise.all( - plugins.map(async (pluginName) => { + plugins.map(async (pluginName, index) => { const plugin = await import(`../plugins/${pluginName}`); await client.commands.set( @@ -20,10 +20,14 @@ export default async (client: Client) => { plugin.default, plugin.default.metadata ); + + logger.verbose( + `Loaded plugin ${index + 1}/${plugins.length}: ${pluginName}` + ); }) ) .then(async () => { - logger.debug("Successfully loaded plugins."); + logger.info(`Started all ${plugins.length} plugins.`); }) .catch(async (err) => { logger.error(`${err}`); diff --git a/src/handlers/deployCommands.ts b/src/handlers/deployCommands.ts index 937447a..8af167e 100644 --- a/src/handlers/deployCommands.ts +++ b/src/handlers/deployCommands.ts @@ -14,12 +14,12 @@ export default async (client: Client) => { client.commands.map(async (pluginData: any) => { pluginList.push(pluginData.builder.toJSON()); logger.verbose( - `${pluginData.builder.name} successfully pushed to plugin list.` + `Plugin is ready for deployment: ${pluginData.builder.name}` ); }) ) .then(async () => { - logger.debug("Successfully pushed all plugins to plugin list."); + logger.info("All plugins are ready to be deployed."); }) .catch(async (error) => { logger.error(`${error}`); @@ -32,7 +32,7 @@ export default async (client: Client) => { body: pluginList, }) .then(async () => { - logger.debug(`Successfully deployed plugins to Discord`); + logger.info(`Successfully deployed plugins to Discord's API`); }) .catch(async (error) => { logger.error(`${error}`); @@ -44,7 +44,7 @@ export default async (client: Client) => { body: pluginList, }) .then(async () => - logger.debug(`Successfully deployed guild plugins to Discord`) + logger.info(`Successfully deployed guild plugins to Discord's API`) ) .catch(async (error) => { logger.error(`${error}`); diff --git a/src/handlers/devMode.ts b/src/handlers/devMode.ts index 3d4c78f..53a2cd6 100644 --- a/src/handlers/devMode.ts +++ b/src/handlers/devMode.ts @@ -9,11 +9,9 @@ import { devMode, guildId } from "@config/other"; export default async (client: Client) => { if (!devMode) { return client?.application?.commands?.set([], guildId).then(async () => { - return logger.debug( - `Development commands disabled for guild: ${guildId}` - ); + return logger.verbose(`Development mode is disabled.`); }); } - return logger.debug(`Development commands enabled for guild: ${guildId}`); + return logger.info(`Development mode is enabled.`); }; diff --git a/src/handlers/events.ts b/src/handlers/events.ts index 4c7d778..f7da9c1 100644 --- a/src/handlers/events.ts +++ b/src/handlers/events.ts @@ -9,10 +9,12 @@ export default async (client: Client) => { } await Promise.all( - events.map(async (eventName) => { + events.map(async (eventName, index) => { const event = await import(`../events/${eventName}`); - logger.verbose(`Loaded event: ${eventName}`); + logger.verbose( + `Loaded event ${index + 1}/${events.length}: ${eventName}` + ); if (event.once) { return client.once(eventName, async (...args) => @@ -26,10 +28,10 @@ export default async (client: Client) => { }) ) .then(async () => { - logger.debug("Successfully loaded events."); + logger.info(`Started all ${events.length} events.`); }) .catch(async (err) => { - logger.error(err); + logger.error(`${err}`); }); }); }; diff --git a/src/helpers/dropGuild.ts b/src/helpers/dropGuild.ts index fc17d0a..d69d09b 100644 --- a/src/helpers/dropGuild.ts +++ b/src/helpers/dropGuild.ts @@ -13,7 +13,7 @@ export default async (guild: Guild) => { await guildSchema .deleteMany({ guildId: guild.id }) .then(async () => { - return logger?.verbose(`Deleted guild: ${guild.id}`); + return logger?.silly(`Deleted guild: ${guild.id}`); }) .catch(async (error) => { logger?.error(`Error deleting guild: ${guild.id} - ${error}`); @@ -22,7 +22,7 @@ export default async (guild: Guild) => { await userSchema .deleteMany({ guildId: guild.id }) .then(async () => { - logger?.verbose(`Deleted users for guild: ${guild.id} from database`); + logger?.silly(`Deleted users for guild: ${guild.id} from database`); }) .catch(async (error) => { logger?.error(`Error deleting users for guild: ${guild.id} - ${error}`); @@ -31,7 +31,7 @@ export default async (guild: Guild) => { await apiSchema .deleteMany({ guildId: guild.id }) .then(async () => { - logger?.verbose(`Deleted apis for guild: ${guild.id} from database`); + logger?.silly(`Deleted apis for guild: ${guild.id} from database`); }) .catch(async (error) => { logger?.error(`Error deleting apis for guild: ${guild.id} - ${error}`); @@ -40,7 +40,7 @@ export default async (guild: Guild) => { await counterSchema .deleteMany({ guildId: guild.id }) .then(async () => { - logger?.verbose(`Deleted counters for guild: ${guild.id} from database`); + logger?.silly(`Deleted counters for guild: ${guild.id} from database`); }) .catch(async (error) => { logger?.error( @@ -51,9 +51,7 @@ export default async (guild: Guild) => { await shopRoleSchema .deleteMany({ guildId: guild.id }) .then(async () => { - logger?.verbose( - `Deleted shop roles for guild: ${guild.id} from database` - ); + logger?.silly(`Deleted shop roles for guild: ${guild.id} from database`); }) .catch(async (error) => { logger?.error( @@ -64,7 +62,7 @@ export default async (guild: Guild) => { await timeoutSchema .deleteMany({ guildId: guild.id }) .then(async () => { - logger?.verbose(`Deleted timeouts for guild: ${guild.id} from database`); + logger?.silly(`Deleted timeouts for guild: ${guild.id} from database`); }) .catch(async (error) => { logger?.error( diff --git a/src/helpers/dropUser.ts b/src/helpers/dropUser.ts index 10662c9..8306285 100644 --- a/src/helpers/dropUser.ts +++ b/src/helpers/dropUser.ts @@ -8,7 +8,7 @@ export default async (user: User, guild: Guild) => { await userSchema .deleteOne({ userId: user.id, guildId: guild.id }) .then(async () => { - logger?.verbose(`Deleted user: ${user?.id} from guild: ${guild?.id}`); + logger?.silly(`Deleted user: ${user?.id} from guild: ${guild?.id}`); }) .catch(async (error) => { logger?.error( diff --git a/src/helpers/fetchGuild.ts b/src/helpers/fetchGuild.ts index 6b9c439..4c8f107 100644 --- a/src/helpers/fetchGuild.ts +++ b/src/helpers/fetchGuild.ts @@ -16,7 +16,7 @@ export default async (guild: Guild) => { await newGuildObj .save() .then(async () => { - logger?.verbose(`Created guild: ${guild.id}`); + logger?.silly(`Created guild: ${guild.id}`); }) .catch(async (error) => { logger?.error(`Error creating guild: ${guild.id} - ${error}`); diff --git a/src/helpers/fetchUser.ts b/src/helpers/fetchUser.ts index 98cc927..96386ef 100644 --- a/src/helpers/fetchUser.ts +++ b/src/helpers/fetchUser.ts @@ -22,7 +22,7 @@ export default async (user: User, guild: Guild) => { await newUserObj .save() .then(async () => { - logger?.verbose(`Created user: ${user.id} for guild: ${guild.id}`); + logger?.silly(`Created user: ${user.id} for guild: ${guild.id}`); }) .catch(async (error) => { logger?.error( diff --git a/src/helpers/getCommandMetadata.ts b/src/helpers/getCommandMetadata.ts index c68efec..7894c00 100644 --- a/src/helpers/getCommandMetadata.ts +++ b/src/helpers/getCommandMetadata.ts @@ -8,5 +8,5 @@ export default async (interaction: CommandInteraction, currentCommand: any) => { return currentCommand.modules[subcommand].metadata; } - return currentCommand.groups[subcommandGroup].modules[subcommand].metadata; + return currentCommand.modules[subcommandGroup].modules[subcommand].metadata; }; diff --git a/src/helpers/pluralize.ts b/src/helpers/pluralize.ts index c255427..33bf2fd 100644 --- a/src/helpers/pluralize.ts +++ b/src/helpers/pluralize.ts @@ -2,6 +2,6 @@ import logger from "@root/logger"; export default (count: number, noun: string, suffix?: string) => { const result = `${count} ${noun}${count !== 1 ? suffix || "s" : ""}`; - logger?.verbose(`Pluralized ${count} to ${result}`); + logger?.silly(`Pluralized ${count} to ${result}`); return result; }; diff --git a/src/helpers/saveUser.ts b/src/helpers/saveUser.ts index 48e4a7a..8feb92e 100644 --- a/src/helpers/saveUser.ts +++ b/src/helpers/saveUser.ts @@ -23,7 +23,7 @@ export default async function saveUser(data: any, data2: any) { 50 )}\n${`${_}\n${"=".repeat(50)}`}` ) - : logger?.verbose(`Saved user: ${data.id} (saveUser)`) + : logger?.silly(`Saved user: ${data.id} (saveUser)`) ); if (data2) { data2.save((_: any) => @@ -33,7 +33,7 @@ export default async function saveUser(data: any, data2: any) { 50 )}\n${`${_}\n${"=".repeat(50)}`}` ) - : logger?.verbose(`Saved user: ${data2.id} (saveUser)`) + : logger?.silly(`Saved user: ${data2.id} (saveUser)`) ); } }, diff --git a/src/helpers/sleep.ts b/src/helpers/sleep.ts index bd209e1..5e53d79 100644 --- a/src/helpers/sleep.ts +++ b/src/helpers/sleep.ts @@ -3,6 +3,6 @@ import logger from "@logger"; export default function sleep(milliseconds: any) { return new Promise((resolve) => { setTimeout(resolve, milliseconds); - logger?.verbose(`Sleeping for ${milliseconds} milliseconds`); + logger?.silly(`Sleeping for ${milliseconds} milliseconds`); }); } diff --git a/src/helpers/updatePresence.ts b/src/helpers/updatePresence.ts index b44682b..7f23885 100644 --- a/src/helpers/updatePresence.ts +++ b/src/helpers/updatePresence.ts @@ -10,5 +10,5 @@ export default async (client: Client) => { activities: [{ type: "WATCHING", name: status }], status: "online", }); - logger?.verbose(`Updated client presence to: ${status}`); + logger?.debug(`Updated client presence to: ${status}`); }; diff --git a/src/index.ts b/src/index.ts index c083eae..fe76eaa 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,7 +4,7 @@ import { token, intents } from "@config/discord"; import { Client } from "discord.js"; // discord.js -import database from "@database"; +import database from "@root/events"; import schedules from "@schedules"; import events from "@handlers/events"; import commands from "@handlers/commands"; diff --git a/src/plugins/counters/index.ts b/src/plugins/counters/index.ts index b0fe5fb..ca3fc56 100644 --- a/src/plugins/counters/index.ts +++ b/src/plugins/counters/index.ts @@ -17,10 +17,10 @@ export default { const { options } = interaction; if (options.getSubcommand() === "view") { - logger.verbose(`Executing view subcommand`); + logger.silly(`Executing view subcommand`); return modules.view.execute(interaction); } - logger.verbose(`Unknown subcommand ${options.getSubcommand()}`); + logger.silly(`Unknown subcommand ${options.getSubcommand()}`); }, }; diff --git a/src/plugins/credits/index.ts b/src/plugins/credits/index.ts index ee6e8bd..5e8033f 100644 --- a/src/plugins/credits/index.ts +++ b/src/plugins/credits/index.ts @@ -33,7 +33,7 @@ export default { await modules.work.execute(interaction); break; default: - logger.verbose(`Unknown subcommand ${options.getSubcommand()}`); + logger.silly(`Unknown subcommand ${options.getSubcommand()}`); } }, }; diff --git a/src/plugins/credits/modules/balance/index.ts b/src/plugins/credits/modules/balance/index.ts index f0fed23..412d4b4 100644 --- a/src/plugins/credits/modules/balance/index.ts +++ b/src/plugins/credits/modules/balance/index.ts @@ -5,7 +5,6 @@ import { footerIcon, } from "@config/embed"; -import i18next from "i18next"; import { CommandInteraction, MessageEmbed } from "discord.js"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import logger from "@logger"; @@ -25,33 +24,21 @@ export default { ); }, execute: async (interaction: CommandInteraction) => { - const { options, user, guild, locale } = interaction; + const { options, user, guild } = interaction; const discordUser = options.getUser("user"); const embed = new MessageEmbed() - .setTitle( - i18next.t("credits:modules:balance:general:title", { - lng: locale, - ns: "plugins", - }) - ) + .setTitle("[:dollar:] Balance") .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }); if (guild === null) { - logger.verbose(`Guild is null`); + logger.silly(`Guild is null`); return interaction.editReply({ embeds: [ - embed - .setDescription( - i18next.t("guildOnly", { - lng: locale, - ns: "errors", - }) - ) - .setColor(errorColor), + embed.setDescription("Guild is not found").setColor(errorColor), ], }); } @@ -59,17 +46,13 @@ export default { const userObj = await fetchUser(discordUser || user, guild); if (userObj === null) { - logger.verbose(`User not found`); + logger.silly(`User not found`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("userNotFound", { - lng: locale, - ns: "errors", - user: discordUser || user, - }) + "User is not found. Please try again with a valid user." ) .setColor(errorColor), ], @@ -77,35 +60,22 @@ export default { } if (userObj.credits === null) { - logger.verbose(`User has no credits`); + logger.silly(`User has no credits`); return interaction.editReply({ embeds: [ - embed - .setDescription( - i18next.t("credits:modules:balance:error01:description", { - lng: locale, - ns: "plugins", - user: discordUser || user, - }) - ) - .setColor(errorColor), + embed.setDescription("Credits not found").setColor(errorColor), ], }); } - logger.verbose(`Found user ${discordUser || user}`); + logger.silly(`Found user ${discordUser || user}`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("credits:modules:balance:success01:description", { - lng: locale, - ns: "plugins", - user: discordUser || user, - amount: userObj.credits, - }) + `${discordUser || user} currently has ${userObj.credits} credits.` ) .setColor(successColor), ], diff --git a/src/plugins/credits/modules/gift/index.ts b/src/plugins/credits/modules/gift/index.ts index 6e2dbea..0590b85 100644 --- a/src/plugins/credits/modules/gift/index.ts +++ b/src/plugins/credits/modules/gift/index.ts @@ -18,7 +18,6 @@ import saveUser from "@helpers/saveUser"; // Models import fetchUser from "@helpers/fetchUser"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; -import i18next from "i18next"; // Function export default { @@ -52,44 +51,27 @@ export default { const optionReason = options.getString("reason"); const embed = new MessageEmbed() - .setTitle( - i18next.t("credits:modules:gift:general:title", { - lng: locale, - ns: "plugins", - }) - ) + .setTitle("[:dollar:] Gift") .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }); if (guild === null) { - logger.verbose(`Guild is null`); + logger.silly(`Guild is null`); return interaction.editReply({ embeds: [ - embed - .setDescription( - i18next.t("guildOnly", { - lng: locale, - ns: "errors", - }) - ) - .setColor(errorColor), + embed.setDescription("Guild is not found").setColor(errorColor), ], }); } if (optionUser === null) { - logger.verbose(`User not found`); + logger.silly(`User not found`); return interaction.editReply({ embeds: [ embed - .setDescription( - i18next.t("userNotFound", { - lng: locale, - ns: "errors", - }) - ) + .setDescription(`User is not found in this guild`) .setColor(errorColor), ], }); @@ -102,16 +84,13 @@ export default { const toUserDB = await fetchUser(optionUser, guild); if (fromUserDB === null) { - logger.verbose(`User not found`); + logger.silly(`User not found`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("userNotFound", { - lng: locale, - ns: "errors", - }) + "You do not have any credits. Please write something in the chat to get some." ) .setColor(errorColor), ], @@ -119,16 +98,13 @@ export default { } if (toUserDB === null) { - logger.verbose(`User not found`); + logger.silly(`User not found`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("userNotFound", { - lng: locale, - ns: "errors", - }) + "The user you want to gift credits to does not have any credits. Please wait until that user has typed something in the chat to get some." ) .setColor(errorColor), ], @@ -137,16 +113,13 @@ export default { // If receiver is same as sender if (optionUser.id === user.id) { - logger.verbose(`User is same as sender`); + logger.silly(`User is same as sender`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("credits:modules:gift:error01:description", { - lng: locale, - ns: "plugins", - }) + "You can't gift credits to yourself. Please choose a different user." ) .setColor(errorColor), ], @@ -155,16 +128,13 @@ export default { // If amount is null if (optionAmount === null) { - logger.verbose(`Amount is null`); + logger.silly(`Amount is null`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("amountNotFound", { - lng: locale, - ns: "errors", - }) + "Please specify the amount of credits you want to gift." ) .setColor(errorColor), ], @@ -173,16 +143,13 @@ export default { // If amount is zero or below if (optionAmount <= 0) { - logger.verbose(`Amount is zero or below`); + logger.silly(`Amount is zero or below`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("credits:modules:gift:error02:description", { - lng: locale, - ns: "plugins", - }) + "Please specify a valid amount of credits you want to gift." ) .setColor(errorColor), ], @@ -191,17 +158,13 @@ export default { // If user has below gifting amount if (fromUserDB.credits < optionAmount) { - logger.verbose(`User has below gifting amount`); + logger.silly(`User has below gifting amount`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("credits:modules:gift:error03:description", { - lng: locale, - ns: "plugins", - amount: fromUserDB.credits, - }) + "You don't have enough credits to gift that amount. Please try again with a lower amount." ) .setColor(errorColor), ], @@ -210,28 +173,19 @@ export default { // If toUserDB has no credits if (toUserDB === null) { - logger.verbose(`User has no credits`); + logger.silly(`User has no credits`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("userNotFound", { - lng: locale, - ns: "errors", - }) + "The user you want to gift credits to does not have any credits. Please wait until that user has typed something in the chat to get some." ) .setColor(errorColor), ], }); } - // Withdraw amount from fromUserDB - fromUserDB.credits -= optionAmount; - - // Deposit amount to toUserDB - toUserDB.credits += optionAmount; - // Save users await saveUser(fromUserDB, toUserDB).then(async () => { // Get DM user object @@ -245,13 +199,11 @@ export default { embeds: [ embed .setDescription( - i18next.t("credits:modules:gift:error03:description", { - lng: locale, - ns: "plugins", - user: user.tag, - amount: optionAmount, - reason: optionReason || "unspecified", - }) + `${ + user.tag + } has gifted you ${optionAmount} credits with reason: ${ + optionReason || "unspecified" + }` ) .setColor(successColor), ], @@ -260,7 +212,7 @@ export default { logger.error(`[Gift] Error sending DM to user: ${error}`) ); - logger.verbose( + logger.silly( `[Gift] Successfully gifted ${optionAmount} credits to ${optionUser.tag}` ); @@ -268,13 +220,9 @@ export default { embeds: [ embed .setDescription( - i18next.t("credits:modules:gift:success02:description", { - lng: locale, - ns: "plugins", - user: user, - amount: optionAmount, - reason: optionReason || "unspecified", - }) + `Successfully gifted ${optionAmount} credits to ${ + optionUser.tag + } with reason: ${optionReason || "unspecified"}` ) .setColor(successColor), ], diff --git a/src/plugins/credits/modules/top/index.ts b/src/plugins/credits/modules/top/index.ts index b21eb11..a334e0d 100644 --- a/src/plugins/credits/modules/top/index.ts +++ b/src/plugins/credits/modules/top/index.ts @@ -5,7 +5,6 @@ import { footerIcon, } from "@config/embed"; -import i18next from "i18next"; import { CommandInteraction, MessageEmbed } from "discord.js"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import logger from "@logger"; @@ -19,29 +18,21 @@ export default { return command.setName("top").setDescription(`View the top users`); }, execute: async (interaction: CommandInteraction) => { - const { locale, guild } = interaction; + const { guild } = interaction; const embed = new MessageEmbed() - .setTitle( - i18next.t("credits:modules:top:general:title", { - lng: locale, - ns: "plugins", - }) - ) + .setTitle("[:dollar:] Top") .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }); if (guild === null) { - logger.verbose(`Guild is null`); + logger.silly(`Guild is null`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("guildOnly", { - lng: locale, - ns: "errors", - }) + "Guild is not found. Please try again with a valid guild." ) .setColor(errorColor), ], @@ -60,22 +51,13 @@ export default { // Create entry object const entry = (x: IUser, index: number) => - i18next.t("credits:modules:top:entry", { - lng: locale, - ns: "plugins", - index: index + 1, - user: x.userId, - amount: x.credits, - }); + `${index + 1}. <@${x.userId}> - ${x.credits} credits`; return interaction.editReply({ embeds: [ embed .setDescription( - ` ${i18next.t("credits:modules:top:success01:description", { - lng: locale, - ns: "plugins", - })} + `Below are the top 10 users in this guild. ${topTen.map(entry).join("\n")} ` diff --git a/src/plugins/credits/modules/work/index.ts b/src/plugins/credits/modules/work/index.ts index 440460a..ca863bd 100644 --- a/src/plugins/credits/modules/work/index.ts +++ b/src/plugins/credits/modules/work/index.ts @@ -20,7 +20,6 @@ import timeoutSchema from "@schemas/timeout"; // Helpers import fetchUser from "@helpers/fetchUser"; import fetchGuild from "@helpers/fetchGuild"; -import i18next from "i18next"; export default { metadata: { guildOnly: true, ephemeral: true }, @@ -30,15 +29,10 @@ export default { }, execute: async (interaction: CommandInteraction) => { // Destructure member - const { guild, user, locale } = interaction; + const { guild, user } = interaction; const embed = new MessageEmbed() - .setTitle( - i18next.t("credits:modules:work:general:title", { - lng: locale, - ns: "plugins", - }) - ) + .setTitle("[:dollar:] Work") .setTimestamp(new Date()) .setFooter({ text: footerText, @@ -56,24 +50,20 @@ export default { }); if (guild === null) { - return logger?.verbose(`Guild is null`); + return logger?.silly(`Guild is null`); } const guildDB = await fetchGuild(guild); // If user is not on timeout if (isTimeout) { - logger?.verbose(`User ${user?.id} is on timeout`); + logger?.silly(`User ${user?.id} is on timeout`); return interaction.editReply({ embeds: [ embed .setDescription( - i18next.t("credits:modules:work:error01:description", { - lng: locale, - ns: "plugins", - time: guildDB?.credits.workTimeout, - }) + `You are on timeout, please wait ${guildDB?.credits.workTimeout} seconds.` ) .setColor(errorColor), ], @@ -88,27 +78,20 @@ export default { const userDB = await fetchUser(user, guild); if (userDB === null) { - return logger?.verbose(`User not found`); + return logger?.silly(`User not found`); } userDB.credits += creditsEarned; await userDB?.save()?.then(async () => { - logger?.verbose( + logger?.silly( `User ${userDB?.userId} worked and earned ${creditsEarned} credits` ); return interaction.editReply({ embeds: [ embed - .setDescription( - i18next.t("credits:modules:work:success01:description", { - lng: locale, - ns: "plugins", - time: guildDB?.credits.workTimeout, - amount: creditsEarned, - }) - ) + .setDescription(`You worked and earned ${creditsEarned} credits.`) .setColor(successColor), ], }); @@ -122,7 +105,7 @@ export default { }); setTimeout(async () => { - logger?.verbose(`Removing timeout for user ${user?.id}`); + logger?.silly(`Removing timeout for user ${user?.id}`); // When timeout is out, remove it from the database await timeoutSchema?.deleteOne({ diff --git a/src/plugins/fun/index.ts b/src/plugins/fun/index.ts index c5c26fd..4b89165 100644 --- a/src/plugins/fun/index.ts +++ b/src/plugins/fun/index.ts @@ -21,7 +21,7 @@ export default { await modules.meme.execute(interaction); break; default: - logger.verbose(`Unknown subcommand ${options.getSubcommand()}`); + logger.silly(`Unknown subcommand ${options.getSubcommand()}`); } }, }; diff --git a/src/plugins/manage/groups/counters/modules/index.ts b/src/plugins/manage/groups/counters/modules/index.ts deleted file mode 100644 index e623f48..0000000 --- a/src/plugins/manage/groups/counters/modules/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import add from "@plugins/manage/groups/counters/modules/add"; -import remove from "@plugins/manage/groups/counters/modules/remove"; - -export default { add, remove }; diff --git a/src/plugins/manage/groups/credits/modules/index.ts b/src/plugins/manage/groups/credits/modules/index.ts deleted file mode 100644 index 4065a60..0000000 --- a/src/plugins/manage/groups/credits/modules/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import give from "@plugins/manage/groups/credits/modules/give"; -import set from "@plugins/manage/groups/credits/modules/set"; -import take from "@plugins/manage/groups/credits/modules/take"; -import transfer from "@plugins/manage/groups/credits/modules/transfer"; - -export default { give, set, take, transfer }; diff --git a/src/plugins/manage/groups/index.ts b/src/plugins/manage/groups/index.ts deleted file mode 100644 index 6b928fe..0000000 --- a/src/plugins/manage/groups/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import counters from "@plugins/manage/groups/counters"; -import credits from "@plugins/manage/groups/credits"; - -export default { counters, credits }; diff --git a/src/plugins/manage/index.ts b/src/plugins/manage/index.ts index 4cd2ff2..993ba9f 100644 --- a/src/plugins/manage/index.ts +++ b/src/plugins/manage/index.ts @@ -3,35 +3,35 @@ import { SlashCommandBuilder } from "@discordjs/builders"; import { CommandInteraction } from "discord.js"; // Groups -import groups from "@plugins/manage/groups"; +import modules from "@plugins/manage/modules"; import logger from "@logger"; // Function export default { - groups, + modules, builder: new SlashCommandBuilder() .setName("manage") .setDescription("Manage the bot.") - .addSubcommandGroup(groups.counters.builder) - .addSubcommandGroup(groups.credits.builder), + .addSubcommandGroup(modules.counters.builder) + .addSubcommandGroup(modules.credits.builder), async execute(interaction: CommandInteraction) { // Destructure const { options } = interaction; if (options?.getSubcommandGroup() === "credits") { - logger?.verbose(`Subcommand group is credits`); + logger?.silly(`Subcommand group is credits`); - return groups.credits.execute(interaction); + return modules.credits.execute(interaction); } if (options?.getSubcommandGroup() === "counters") { - logger?.verbose(`Subcommand group is counters`); + logger?.silly(`Subcommand group is counters`); - return groups.counters.execute(interaction); + return modules.counters.execute(interaction); } - logger?.verbose(`Subcommand group is not credits or counters`); + logger?.silly(`Subcommand group is not credits or counters`); }, }; diff --git a/src/plugins/manage/groups/counters/index.ts b/src/plugins/manage/modules/counters/index.ts similarity index 81% rename from src/plugins/manage/groups/counters/index.ts rename to src/plugins/manage/modules/counters/index.ts index 6d54522..3fb9d3e 100644 --- a/src/plugins/manage/groups/counters/index.ts +++ b/src/plugins/manage/modules/counters/index.ts @@ -23,17 +23,17 @@ export default { const { options } = interaction; if (options?.getSubcommand() === "add") { - logger?.verbose(`Executing create subcommand`); + logger?.silly(`Executing create subcommand`); return modules.add.execute(interaction); } if (options?.getSubcommand() === "remove") { - logger?.verbose(`Executing delete subcommand`); + logger?.silly(`Executing delete subcommand`); return modules.remove.execute(interaction); } - logger?.verbose(`Unknown subcommand ${options?.getSubcommand()}`); + logger?.silly(`Unknown subcommand ${options?.getSubcommand()}`); }, }; diff --git a/src/plugins/manage/groups/counters/modules/add/index.ts b/src/plugins/manage/modules/counters/modules/add/index.ts similarity index 74% rename from src/plugins/manage/groups/counters/modules/add/index.ts rename to src/plugins/manage/modules/counters/modules/add/index.ts index 09e1f56..1bb9cb2 100644 --- a/src/plugins/manage/groups/counters/modules/add/index.ts +++ b/src/plugins/manage/modules/counters/modules/add/index.ts @@ -16,7 +16,6 @@ import logger from "@logger"; // Models import counterSchema from "@schemas/counter"; -import i18next from "i18next"; // Function export default { @@ -57,12 +56,7 @@ export default { const startValue = options?.getNumber("start"); const embed = new MessageEmbed() - .setTitle( - i18next.t("manage:groups:counters:modules:add:general:title", { - lng: locale, - ns: "plugins", - }) - ) + .setTitle("[:toolbox:] Counters - Add") .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }); @@ -75,16 +69,7 @@ export default { return interaction?.editReply({ embeds: [ embed - .setDescription( - i18next.t( - "manage:groups:counters:modules:add:error01:description", - { - lng: locale, - ns: "plugins", - channel: discordChannel, - } - ) - ) + .setDescription(`A counter already exists for this channel.`) .setColor(errorColor), ], }); @@ -98,20 +83,13 @@ export default { counter: startValue || 0, }) .then(async () => { - logger?.verbose(`Created counter`); + logger?.silly(`Created counter`); return interaction?.editReply({ embeds: [ embed .setDescription( - i18next.t( - "manage:groups:counters:modules:create:success01:description", - { - lng: locale, - ns: "plugins", - channel: discordChannel, - } - ) + `Successfully created counter for ${discordChannel?.name}.` ) .setColor(successColor), ], diff --git a/src/plugins/manage/modules/counters/modules/index.ts b/src/plugins/manage/modules/counters/modules/index.ts new file mode 100644 index 0000000..2f55183 --- /dev/null +++ b/src/plugins/manage/modules/counters/modules/index.ts @@ -0,0 +1,4 @@ +import add from "@plugins/manage/modules/counters/modules/add"; +import remove from "@plugins/manage/modules/counters/modules/remove"; + +export default { add, remove }; diff --git a/src/plugins/manage/groups/counters/modules/remove/index.ts b/src/plugins/manage/modules/counters/modules/remove/index.ts similarity index 73% rename from src/plugins/manage/groups/counters/modules/remove/index.ts rename to src/plugins/manage/modules/counters/modules/remove/index.ts index 72f90e8..c0991f7 100644 --- a/src/plugins/manage/groups/counters/modules/remove/index.ts +++ b/src/plugins/manage/modules/counters/modules/remove/index.ts @@ -16,7 +16,6 @@ import logger from "@logger"; import counterSchema from "@schemas/counter"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; import { ChannelType } from "discord-api-types/v10"; -import i18next from "i18next"; // Function export default { @@ -44,12 +43,7 @@ export default { const discordChannel = options?.getChannel("channel"); const embed = new MessageEmbed() - .setTitle( - i18next.t("manage:groups:counters:modules:remove:general:title", { - lng: locale, - ns: "plugins", - }) - ) + .setTitle("[:toolbox:] Counters - Remove") .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }); @@ -59,19 +53,13 @@ export default { }); if (counter === null) { - logger?.verbose(`Counter is null`); + logger?.silly(`Counter is null`); return interaction?.editReply({ embeds: [ embed .setDescription( - i18next.t( - "manage:groups:counters:modules:remove:error01:description", - { - lng: locale, - ns: "plugins", - } - ) + ":x: There is no counter in this channel. Please add a counter first." ) .setColor(errorColor), ], @@ -84,19 +72,13 @@ export default { channelId: discordChannel?.id, }) ?.then(async () => { - logger?.verbose(`Counter deleted`); + logger?.silly(`Counter deleted`); return interaction?.editReply({ embeds: [ embed .setDescription( - i18next.t( - "manage:groups:counters:modules:remove:success01:description", - { - lng: locale, - ns: "plugins", - } - ) + ":white_check_mark: Counter deleted successfully." ) .setColor(successColor), ], diff --git a/src/plugins/manage/groups/credits/index.ts b/src/plugins/manage/modules/credits/index.ts similarity index 77% rename from src/plugins/manage/groups/credits/index.ts rename to src/plugins/manage/modules/credits/index.ts index c342f7a..a12cf11 100644 --- a/src/plugins/manage/groups/credits/index.ts +++ b/src/plugins/manage/modules/credits/index.ts @@ -21,23 +21,23 @@ export default { switch (options.getSubcommand()) { case "give": - logger.verbose(`Executing give subcommand`); + logger.silly(`Executing give subcommand`); return modules.give.execute(interaction); case "set": - logger.verbose(`Executing set subcommand`); + logger.silly(`Executing set subcommand`); return modules.set.execute(interaction); case "take": - logger.verbose(`Executing take subcommand`); + logger.silly(`Executing take subcommand`); return modules.take.execute(interaction); case "transfer": - logger.verbose(`Executing transfer subcommand`); + logger.silly(`Executing transfer subcommand`); return modules.transfer.execute(interaction); default: - logger.verbose(`Unknown subcommand ${options.getSubcommand()}`); + logger.silly(`Unknown subcommand ${options.getSubcommand()}`); } }, }; diff --git a/src/plugins/manage/groups/credits/modules/give/index.ts b/src/plugins/manage/modules/credits/modules/give/index.ts similarity index 94% rename from src/plugins/manage/groups/credits/modules/give/index.ts rename to src/plugins/manage/modules/credits/modules/give/index.ts index fd52097..4734231 100644 --- a/src/plugins/manage/groups/credits/modules/give/index.ts +++ b/src/plugins/manage/modules/credits/modules/give/index.ts @@ -53,7 +53,7 @@ export default { // If amount option is null if (creditAmount === null) { - logger?.verbose(`Amount is null`); + logger?.silly(`Amount is null`); return interaction?.editReply({ embeds: [ @@ -69,7 +69,7 @@ export default { // If amount is zero or below if (creditAmount <= 0) { - logger?.verbose(`Amount is zero or below`); + logger?.silly(`Amount is zero or below`); return interaction?.editReply({ embeds: [ @@ -84,7 +84,7 @@ export default { } if (discordReceiver === null) { - logger?.verbose(`Discord receiver is null`); + logger?.silly(`Discord receiver is null`); return interaction?.editReply({ embeds: [ @@ -98,7 +98,7 @@ export default { }); } if (guild === null) { - logger?.verbose(`Guild is null`); + logger?.silly(`Guild is null`); return interaction?.editReply({ embeds: [ @@ -115,7 +115,7 @@ export default { const toUser = await fetchUser(discordReceiver, guild); if (toUser === null) { - logger?.verbose(`To user is null`); + logger?.silly(`To user is null`); return interaction?.editReply({ embeds: [ @@ -147,7 +147,7 @@ export default { // Save toUser await toUser?.save()?.then(async () => { - logger?.verbose(`Saved toUser`); + logger?.silly(`Saved toUser`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/manage/modules/credits/modules/index.ts b/src/plugins/manage/modules/credits/modules/index.ts new file mode 100644 index 0000000..1dd2f3d --- /dev/null +++ b/src/plugins/manage/modules/credits/modules/index.ts @@ -0,0 +1,6 @@ +import give from "@plugins/manage/modules/credits/modules/give"; +import set from "@plugins/manage/modules/credits/modules/set"; +import take from "@plugins/manage/modules/credits/modules/take"; +import transfer from "@plugins/manage/modules/credits/modules/transfer"; + +export default { give, set, take, transfer }; diff --git a/src/plugins/manage/groups/credits/modules/set/index.ts b/src/plugins/manage/modules/credits/modules/set/index.ts similarity index 93% rename from src/plugins/manage/groups/credits/modules/set/index.ts rename to src/plugins/manage/modules/credits/modules/set/index.ts index 29bd6ab..e8b8875 100644 --- a/src/plugins/manage/groups/credits/modules/set/index.ts +++ b/src/plugins/manage/modules/credits/modules/set/index.ts @@ -51,7 +51,7 @@ export default { // If amount is null if (creditAmount === null) { - logger?.verbose(`Amount is null`); + logger?.silly(`Amount is null`); return interaction?.editReply({ embeds: [ @@ -66,7 +66,7 @@ export default { } if (discordUser === null) { - logger?.verbose(`User is null`); + logger?.silly(`User is null`); return interaction?.editReply({ embeds: [ @@ -80,7 +80,7 @@ export default { }); } if (guild === null) { - logger?.verbose(`Guild is null`); + logger?.silly(`Guild is null`); return interaction?.editReply({ embeds: [ @@ -99,7 +99,7 @@ export default { // If toUser does not exist if (toUser === null) { - logger?.verbose(`User does not exist`); + logger?.silly(`User does not exist`); return interaction?.editReply({ embeds: [ @@ -115,7 +115,7 @@ export default { // If toUser.credits does not exist if (toUser?.credits === null) { - logger?.verbose(`User does not have any credits`); + logger?.silly(`User does not have any credits`); return interaction?.editReply({ embeds: [ @@ -134,7 +134,7 @@ export default { // Save toUser await toUser?.save()?.then(async () => { - logger?.verbose(`Saved user`); + logger?.silly(`Saved user`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/manage/groups/credits/modules/take/index.ts b/src/plugins/manage/modules/credits/modules/take/index.ts similarity index 93% rename from src/plugins/manage/groups/credits/modules/take/index.ts rename to src/plugins/manage/modules/credits/modules/take/index.ts index 21327b3..0b07fe4 100644 --- a/src/plugins/manage/groups/credits/modules/take/index.ts +++ b/src/plugins/manage/modules/credits/modules/take/index.ts @@ -56,7 +56,7 @@ export default { // If amount is null if (optionAmount === null) { - logger?.verbose(`Amount is null`); + logger?.silly(`Amount is null`); return interaction?.editReply({ embeds: [ @@ -72,7 +72,7 @@ export default { // If amount is zero or below if (optionAmount <= 0) { - logger?.verbose(`Amount is zero or below`); + logger?.silly(`Amount is zero or below`); return interaction?.editReply({ embeds: [ @@ -87,7 +87,7 @@ export default { } if (optionUser === null) { - logger?.verbose(`Discord receiver is null`); + logger?.silly(`Discord receiver is null`); return interaction?.editReply({ embeds: [ @@ -101,7 +101,7 @@ export default { }); } if (guild === null) { - logger?.verbose(`Guild is null`); + logger?.silly(`Guild is null`); return interaction?.editReply({ embeds: [ @@ -120,7 +120,7 @@ export default { // If toUser does not exist if (toUser === null) { - logger?.verbose(`ToUser is null`); + logger?.silly(`ToUser is null`); return interaction?.editReply({ embeds: [ @@ -136,7 +136,7 @@ export default { // If toUser.credits does not exist if (toUser?.credits === null) { - logger?.verbose(`ToUser.credits is null`); + logger?.silly(`ToUser.credits is null`); return interaction?.editReply({ embeds: [ @@ -155,7 +155,7 @@ export default { // Save toUser await toUser?.save()?.then(async () => { - logger?.verbose(`Saved toUser`); + logger?.silly(`Saved toUser`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/manage/groups/credits/modules/transfer/index.ts b/src/plugins/manage/modules/credits/modules/transfer/index.ts similarity index 93% rename from src/plugins/manage/groups/credits/modules/transfer/index.ts rename to src/plugins/manage/modules/credits/modules/transfer/index.ts index 250c015..00e1fbe 100644 --- a/src/plugins/manage/groups/credits/modules/transfer/index.ts +++ b/src/plugins/manage/modules/credits/modules/transfer/index.ts @@ -61,7 +61,7 @@ export default { // If amount is null if (optionAmount === null) { - logger?.verbose(`Amount is null`); + logger?.silly(`Amount is null`); return interaction?.editReply({ embeds: [ @@ -76,7 +76,7 @@ export default { } if (guild === null) { - logger?.verbose(`Guild is null`); + logger?.silly(`Guild is null`); return interaction?.editReply({ embeds: [ @@ -90,7 +90,7 @@ export default { }); } if (optionFromUser === null) { - logger?.verbose(`From user is null`); + logger?.silly(`From user is null`); return interaction?.editReply({ embeds: [ @@ -104,7 +104,7 @@ export default { }); } if (optionToUser === null) { - logger?.verbose(`To user is null`); + logger?.silly(`To user is null`); return interaction?.editReply({ embeds: [ @@ -126,7 +126,7 @@ export default { // If toUser does not exist if (fromUser === null) { - logger?.verbose(`From user does not exist`); + logger?.silly(`From user does not exist`); return interaction?.editReply({ embeds: [ @@ -144,7 +144,7 @@ export default { // If toUser.credits does not exist if (!fromUser?.credits) { - logger?.verbose(`From user does not have credits`); + logger?.silly(`From user does not have credits`); return interaction?.editReply({ embeds: [ @@ -162,7 +162,7 @@ export default { // If toUser does not exist if (toUser === null) { - logger?.verbose(`To user does not exist`); + logger?.silly(`To user does not exist`); return interaction?.editReply({ embeds: [ @@ -180,7 +180,7 @@ export default { // If toUser.credits does not exist if (toUser?.credits === null) { - logger?.verbose(`To user does not have credits`); + logger?.silly(`To user does not have credits`); return interaction?.editReply({ embeds: [ @@ -204,7 +204,7 @@ export default { // Save users await saveUser(fromUser, toUser)?.then(async () => { - logger?.verbose(`Saved users`); + logger?.silly(`Saved users`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/manage/modules/index.ts b/src/plugins/manage/modules/index.ts new file mode 100644 index 0000000..61797b1 --- /dev/null +++ b/src/plugins/manage/modules/index.ts @@ -0,0 +1,4 @@ +import counters from "@plugins/manage/modules/counters"; +import credits from "@plugins/manage/modules/credits"; + +export default { counters, credits }; diff --git a/src/plugins/profile/index.ts b/src/plugins/profile/index.ts index 4766d49..d37ad1b 100644 --- a/src/plugins/profile/index.ts +++ b/src/plugins/profile/index.ts @@ -20,11 +20,11 @@ export default { const { options } = interaction; if (options?.getSubcommand() === "view") { - logger?.verbose(`Executing view subcommand`); + logger?.silly(`Executing view subcommand`); return modules.view.execute(interaction); } - logger?.verbose(`No subcommand found`); + logger?.silly(`No subcommand found`); }, }; diff --git a/src/plugins/profile/modules/view.ts b/src/plugins/profile/modules/view.ts index aeb8e62..472c969 100644 --- a/src/plugins/profile/modules/view.ts +++ b/src/plugins/profile/modules/view.ts @@ -36,7 +36,7 @@ export default { ); if (guild === null) { - return logger?.verbose(`Guild is null`); + return logger?.silly(`Guild is null`); } // User Information diff --git a/src/plugins/reputation/index.ts b/src/plugins/reputation/index.ts index 9ee66d6..f5237ab 100644 --- a/src/plugins/reputation/index.ts +++ b/src/plugins/reputation/index.ts @@ -19,11 +19,11 @@ export default { const { options } = interaction; if (options?.getSubcommand() === "give") { - logger?.verbose(`Executing give subcommand`); + logger?.silly(`Executing give subcommand`); await modules.give.execute(interaction); } - logger?.verbose(`No subcommand found`); + logger?.silly(`No subcommand found`); }, }; diff --git a/src/plugins/reputation/modules/give.ts b/src/plugins/reputation/modules/give.ts index e3d6dff..c467c4b 100644 --- a/src/plugins/reputation/modules/give.ts +++ b/src/plugins/reputation/modules/give.ts @@ -58,14 +58,14 @@ export default { const optionType = options?.getString("type"); if (guild === null) { - return logger?.verbose(`Guild is null`); + return logger?.silly(`Guild is null`); } // User information const userObj = await fetchUser(user, guild); if (userObj === null) { - return logger?.verbose(`User is null`); + return logger?.silly(`User is null`); } // Check if user has a timeout @@ -77,7 +77,7 @@ export default { // If user is not on timeout if (isTimeout) { - logger?.verbose(`User is on timeout`); + logger?.silly(`User is on timeout`); return interaction?.editReply({ embeds: [ @@ -97,7 +97,7 @@ export default { // Do not allow self reputation if (optionTarget?.id === user?.id) { - logger?.verbose(`User is trying to give reputation to self`); + logger?.silly(`User is trying to give reputation to self`); return interaction?.editReply({ embeds: [ @@ -117,21 +117,21 @@ export default { // If type is positive if (optionType === "positive") { - logger?.verbose(`User is giving positive reputation`); + logger?.silly(`User is giving positive reputation`); userObj.reputation += 1; } // If type is negative else if (optionType === "negative") { - logger?.verbose(`User is giving negative reputation`); + logger?.silly(`User is giving negative reputation`); userObj.reputation -= 1; } // Save user await userObj?.save()?.then(async () => { - logger?.verbose(`User reputation has been updated`); + logger?.silly(`User reputation has been updated`); await timeoutSchema?.create({ guildId: guild?.id, @@ -156,7 +156,7 @@ export default { }); setTimeout(async () => { - logger?.verbose(`Removing timeout`); + logger?.silly(`Removing timeout`); await timeoutSchema?.deleteOne({ guildId: guild?.id, diff --git a/src/plugins/settings/groups/guild/modules/index.ts b/src/plugins/settings/groups/guild/modules/index.ts deleted file mode 100644 index 9a5fcd6..0000000 --- a/src/plugins/settings/groups/guild/modules/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -import audits from "@plugins/settings/groups/guild/modules/audits"; -import credits from "@plugins/settings/groups/guild/modules/credits"; -import points from "@plugins/settings/groups/guild/modules/points"; -import pterodactyl from "@plugins/settings/groups/guild/modules/pterodactyl"; -import shop from "@plugins/settings/groups/guild/modules/shop"; -import welcome from "@plugins/settings/groups/guild/modules/welcome"; - -export default { audits, credits, points, pterodactyl, shop, welcome }; diff --git a/src/plugins/settings/groups/index.ts b/src/plugins/settings/groups/index.ts deleted file mode 100644 index 3271a99..0000000 --- a/src/plugins/settings/groups/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import guild from "@plugins/settings/groups/guild"; - -export default { guild }; diff --git a/src/plugins/settings/index.ts b/src/plugins/settings/index.ts index c55d10e..5ab9d74 100644 --- a/src/plugins/settings/index.ts +++ b/src/plugins/settings/index.ts @@ -2,31 +2,31 @@ import { SlashCommandBuilder } from "@discordjs/builders"; import { CommandInteraction } from "discord.js"; -// Groups -import groups from "./groups"; +// Modules +import modules from "./modules"; // Handlers import logger from "@logger"; // Function export default { - groups, + modules, builder: new SlashCommandBuilder() .setName("settings") .setDescription("Manage settings.") - .addSubcommandGroup(groups.guild.builder), + .addSubcommandGroup(modules.guild.builder), async execute(interaction: CommandInteraction) { const { options } = interaction; if (options.getSubcommandGroup() === "guild") { - logger.verbose(`Executing guild subcommand`); + logger.silly(`Executing guild subcommand`); - return groups.guild.execute(interaction); + return modules.guild.execute(interaction); } - logger.verbose(`No subcommand group found`); + logger.silly(`No subcommand group found`); }, }; diff --git a/src/plugins/settings/groups/guild/index.ts b/src/plugins/settings/modules/guild/index.ts similarity index 79% rename from src/plugins/settings/groups/guild/index.ts rename to src/plugins/settings/modules/guild/index.ts index 973e678..a9a3fc1 100644 --- a/src/plugins/settings/groups/guild/index.ts +++ b/src/plugins/settings/modules/guild/index.ts @@ -30,31 +30,31 @@ export default { switch (options?.getSubcommand()) { case "pterodactyl": - logger?.verbose(`Subcommand is pterodactyl`); + logger?.silly(`Subcommand is pterodactyl`); return modules.pterodactyl.execute(interaction); case "credits": - logger?.verbose(`Subcommand is credits`); + logger?.silly(`Subcommand is credits`); return modules.credits.execute(interaction); case "points": - logger?.verbose(`Subcommand is points`); + logger?.silly(`Subcommand is points`); return modules.points.execute(interaction); case "welcome": - logger?.verbose(`Subcommand is welcome`); + logger?.silly(`Subcommand is welcome`); return modules.welcome.execute(interaction); case "audits": - logger?.verbose(`Subcommand is audits`); + logger?.silly(`Subcommand is audits`); return modules.audits.execute(interaction); case "shop": - logger?.verbose(`Subcommand is shop`); + logger?.silly(`Subcommand is shop`); return modules.shop.execute(interaction); default: - logger?.verbose(`Subcommand is not found`); + logger?.silly(`Subcommand is not found`); } }, }; diff --git a/src/plugins/settings/groups/guild/modules/audits.ts b/src/plugins/settings/modules/guild/modules/audits.ts similarity index 95% rename from src/plugins/settings/groups/guild/modules/audits.ts rename to src/plugins/settings/modules/guild/modules/audits.ts index 06a325e..55c718f 100644 --- a/src/plugins/settings/groups/guild/modules/audits.ts +++ b/src/plugins/settings/modules/guild/modules/audits.ts @@ -48,7 +48,7 @@ export default { }); if (guildDB === null) { - return logger?.verbose(`Guild not found in database.`); + return logger?.silly(`Guild not found in database.`); } // Modify values @@ -58,7 +58,7 @@ export default { // Save guild await guildDB?.save()?.then(async () => { - logger?.verbose(`Guild audits updated.`); + logger?.silly(`Guild audits updated.`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/settings/groups/guild/modules/credits.ts b/src/plugins/settings/modules/guild/modules/credits.ts similarity index 98% rename from src/plugins/settings/groups/guild/modules/credits.ts rename to src/plugins/settings/modules/guild/modules/credits.ts index 7c29eda..91a1f00 100644 --- a/src/plugins/settings/groups/guild/modules/credits.ts +++ b/src/plugins/settings/modules/guild/modules/credits.ts @@ -68,7 +68,7 @@ export default { }); if (guildDB === null) { - return logger?.verbose(`Guild is null`); + return logger?.silly(`Guild is null`); } // Modify values @@ -86,7 +86,7 @@ export default { // Save guild await guildDB?.save()?.then(async () => { - logger?.verbose(`Guild saved`); + logger?.silly(`Guild saved`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/settings/modules/guild/modules/index.ts b/src/plugins/settings/modules/guild/modules/index.ts new file mode 100644 index 0000000..ccdf8f7 --- /dev/null +++ b/src/plugins/settings/modules/guild/modules/index.ts @@ -0,0 +1,8 @@ +import audits from "@plugins/settings/modules/guild/modules/audits"; +import credits from "@plugins/settings/modules/guild/modules/credits"; +import points from "@plugins/settings/modules/guild/modules/points"; +import pterodactyl from "@plugins/settings/modules/guild/modules/pterodactyl"; +import shop from "@plugins/settings/modules/guild/modules/shop"; +import welcome from "@plugins/settings/modules/guild/modules/welcome"; + +export default { audits, credits, points, pterodactyl, shop, welcome }; diff --git a/src/plugins/settings/groups/guild/modules/points.ts b/src/plugins/settings/modules/guild/modules/points.ts similarity index 96% rename from src/plugins/settings/groups/guild/modules/points.ts rename to src/plugins/settings/modules/guild/modules/points.ts index 4379f04..0eef364 100644 --- a/src/plugins/settings/groups/guild/modules/points.ts +++ b/src/plugins/settings/modules/guild/modules/points.ts @@ -56,7 +56,7 @@ export default { }); if (guildDB === null) { - return logger?.verbose(`Guild not found in database.`); + return logger?.silly(`Guild not found in database.`); } // Modify values @@ -69,7 +69,7 @@ export default { // Save guild await guildDB?.save()?.then(async () => { - logger?.verbose(`Guild points updated.`); + logger?.silly(`Guild points updated.`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/settings/groups/guild/modules/pterodactyl.ts b/src/plugins/settings/modules/guild/modules/pterodactyl.ts similarity index 97% rename from src/plugins/settings/groups/guild/modules/pterodactyl.ts rename to src/plugins/settings/modules/guild/modules/pterodactyl.ts index 13345d6..3e79567 100644 --- a/src/plugins/settings/groups/guild/modules/pterodactyl.ts +++ b/src/plugins/settings/modules/guild/modules/pterodactyl.ts @@ -53,7 +53,7 @@ export default { { new: true, upsert: true } ) .then(async () => { - logger?.verbose(`Updated API credentials.`); + logger?.silly(`Updated API credentials.`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/settings/groups/guild/modules/shop.ts b/src/plugins/settings/modules/guild/modules/shop.ts similarity index 95% rename from src/plugins/settings/groups/guild/modules/shop.ts rename to src/plugins/settings/modules/guild/modules/shop.ts index ffa6f4a..839bf8e 100644 --- a/src/plugins/settings/groups/guild/modules/shop.ts +++ b/src/plugins/settings/modules/guild/modules/shop.ts @@ -48,7 +48,7 @@ export default { }); if (guildDB === null) { - return logger?.verbose(`Guild not found in database.`); + return logger?.silly(`Guild not found in database.`); } // Modify values @@ -61,7 +61,7 @@ export default { // Save guild await guildDB?.save()?.then(async () => { - logger?.verbose(`Guild shop updated.`); + logger?.silly(`Guild shop updated.`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/settings/groups/guild/modules/welcome.ts b/src/plugins/settings/modules/guild/modules/welcome.ts similarity index 97% rename from src/plugins/settings/groups/guild/modules/welcome.ts rename to src/plugins/settings/modules/guild/modules/welcome.ts index 48fdae8..b349bdb 100644 --- a/src/plugins/settings/groups/guild/modules/welcome.ts +++ b/src/plugins/settings/modules/guild/modules/welcome.ts @@ -69,7 +69,7 @@ export default { }); if (guildDB === null) { - return logger?.verbose(`Guild not found in database.`); + return logger?.silly(`Guild not found in database.`); } // Modify values @@ -91,7 +91,7 @@ export default { // Save guild await guildDB?.save()?.then(async () => { - logger?.verbose(`Guild welcome updated.`); + logger?.silly(`Guild welcome updated.`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/settings/modules/index.ts b/src/plugins/settings/modules/index.ts new file mode 100644 index 0000000..a487700 --- /dev/null +++ b/src/plugins/settings/modules/index.ts @@ -0,0 +1,3 @@ +import guild from "@plugins/settings/modules/guild"; + +export default { guild }; diff --git a/src/plugins/shop/groups/index.ts b/src/plugins/shop/groups/index.ts deleted file mode 100644 index c1c25c9..0000000 --- a/src/plugins/shop/groups/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import roles from "./roles"; - -export default { roles }; diff --git a/src/plugins/shop/index.ts b/src/plugins/shop/index.ts index 8c46187..330306e 100644 --- a/src/plugins/shop/index.ts +++ b/src/plugins/shop/index.ts @@ -5,37 +5,33 @@ import { CommandInteraction } from "discord.js"; // Modules import modules from "./modules"; -// Groups -import groups from "./groups"; - // Handlers import logger from "../../logger"; // Function export default { modules, - groups, builder: new SlashCommandBuilder() .setName("shop") .setDescription("Shop for credits and custom roles.") .addSubcommand(modules.pterodactyl.builder) - .addSubcommandGroup(groups.roles.builder), + .addSubcommandGroup(modules.roles.builder), async execute(interaction: CommandInteraction) { const { options } = interaction; if (options?.getSubcommand() === "pterodactyl") { - logger.verbose(`Executing pterodactyl subcommand`); + logger.silly(`Executing pterodactyl subcommand`); return modules.pterodactyl.execute(interaction); } if (options?.getSubcommandGroup() === "roles") { - logger?.verbose(`Subcommand group is roles`); + logger?.silly(`Subcommand group is roles`); - return groups.roles.execute(interaction); + return modules.roles.execute(interaction); } - logger?.verbose(`No subcommand found.`); + logger?.silly(`No subcommand found.`); }, }; diff --git a/src/plugins/shop/modules/index.ts b/src/plugins/shop/modules/index.ts index bc33df3..c356cae 100644 --- a/src/plugins/shop/modules/index.ts +++ b/src/plugins/shop/modules/index.ts @@ -1,3 +1,4 @@ import pterodactyl from "@plugins/shop/modules/pterodactyl"; +import roles from "@plugins/shop/modules/roles"; -export default { pterodactyl }; +export default { pterodactyl, roles }; diff --git a/src/plugins/shop/modules/pterodactyl.ts b/src/plugins/shop/modules/pterodactyl.ts index 3cde4d1..57e36af 100644 --- a/src/plugins/shop/modules/pterodactyl.ts +++ b/src/plugins/shop/modules/pterodactyl.ts @@ -37,7 +37,7 @@ export default { const optionAmount = options?.getInteger("amount"); if (optionAmount === null) { - logger?.verbose(`Amount is null.`); + logger?.silly(`Amount is null.`); return interaction?.editReply({ embeds: [ @@ -56,19 +56,19 @@ export default { } if (guild === null) { - return logger?.verbose(`Guild is null`); + return logger?.silly(`Guild is null`); } const userDB = await fetchUser(user, guild); if (userDB === null) { - return logger?.verbose(`User is null`); + return logger?.silly(`User is null`); } const dmUser = client?.users?.cache?.get(user?.id); if ((optionAmount || userDB?.credits) < 100) { - logger?.verbose(`Amount or user credits is below 100.`); + logger?.silly(`Amount or user credits is below 100.`); return interaction?.editReply({ embeds: [ @@ -93,7 +93,7 @@ export default { } if ((optionAmount || userDB?.credits) > 1000000) { - logger?.verbose(`Amount or user credits is above 1.000.000.`); + logger?.silly(`Amount or user credits is above 1.000.000.`); return interaction?.editReply({ embeds: [ @@ -119,7 +119,7 @@ export default { } if (userDB?.credits < optionAmount) { - logger?.verbose(`User credits is below amount.`); + logger?.silly(`User credits is below amount.`); return interaction?.editReply({ embeds: [ @@ -168,7 +168,7 @@ export default { }) ?.then(async () => { - logger?.verbose(`Successfully created voucher.`); + logger?.silly(`Successfully created voucher.`); userDB.credits -= optionAmount || userDB?.credits; @@ -176,7 +176,7 @@ export default { ?.save() ?.then(async () => { - logger?.verbose(`Successfully saved new credits.`); + logger?.silly(`Successfully saved new credits.`); await dmUser?.send({ embeds: [ @@ -218,7 +218,7 @@ export default { }) .catch(async (error) => { - logger?.verbose(`Error saving new credits. - ${error}`); + logger?.silly(`Error saving new credits. - ${error}`); return interaction?.editReply({ embeds: [ @@ -238,7 +238,7 @@ export default { }) .catch(async (error: any) => { - logger?.verbose(`Error creating voucher. - ${error}`); + logger?.silly(`Error creating voucher. - ${error}`); return interaction?.editReply({ embeds: [ diff --git a/src/plugins/shop/groups/roles/index.ts b/src/plugins/shop/modules/roles/index.ts similarity index 90% rename from src/plugins/shop/groups/roles/index.ts rename to src/plugins/shop/modules/roles/index.ts index 0900764..d9242de 100644 --- a/src/plugins/shop/groups/roles/index.ts +++ b/src/plugins/shop/modules/roles/index.ts @@ -33,7 +33,7 @@ export default { if (guildDB === null) return; if (!guildDB.shop.roles.status) { - logger.verbose(`Shop roles disabled.`); + logger.silly(`Shop roles disabled.`); return interaction?.editReply({ embeds: [ @@ -52,13 +52,13 @@ export default { } if (options?.getSubcommand() === "buy") { - logger.verbose(`Executing buy subcommand`); + logger.silly(`Executing buy subcommand`); await modules.buy.execute(interaction); } if (options?.getSubcommand() === "cancel") { - logger.verbose(`Executing cancel subcommand`); + logger.silly(`Executing cancel subcommand`); await modules.cancel.execute(interaction); } diff --git a/src/plugins/shop/groups/roles/modules/buy.ts b/src/plugins/shop/modules/roles/modules/buy.ts similarity index 91% rename from src/plugins/shop/groups/roles/modules/buy.ts rename to src/plugins/shop/modules/roles/modules/buy.ts index ed6a73b..32c5918 100644 --- a/src/plugins/shop/groups/roles/modules/buy.ts +++ b/src/plugins/shop/modules/roles/modules/buy.ts @@ -52,7 +52,7 @@ export default { // If amount is null if (optionName === null) { - logger?.verbose(`Name is null.`); + logger?.silly(`Name is null.`); return interaction?.editReply({ embeds: [ @@ -85,15 +85,15 @@ export default { const userDB = await fetchUser(user, guild); if (userDB === null) { - return logger?.verbose(`User is null`); + return logger?.silly(`User is null`); } if (guildDB === null) { - return logger?.verbose(`Guild is null`); + return logger?.silly(`Guild is null`); } if (guildDB.shop === null) { - return logger?.verbose(`Shop is null`); + return logger?.silly(`Shop is null`); } const { pricePerHour } = guildDB.shop.roles; @@ -112,7 +112,7 @@ export default { await (member?.roles as GuildMemberRoleManager)?.add(role?.id); - logger?.verbose(`Role ${role?.name} was bought by ${user?.tag}`); + logger?.silly(`Role ${role?.name} was bought by ${user?.tag}`); return interaction?.editReply({ embeds: [ @@ -139,7 +139,7 @@ export default { }); }) .catch(async (error) => { - return logger?.verbose(`Role could not be created. ${error}`); + return logger?.silly(`Role could not be created. ${error}`); }); }, }; diff --git a/src/plugins/shop/groups/roles/modules/cancel.ts b/src/plugins/shop/modules/roles/modules/cancel.ts similarity index 94% rename from src/plugins/shop/groups/roles/modules/cancel.ts rename to src/plugins/shop/modules/roles/modules/cancel.ts index ee5e705..5dd9362 100644 --- a/src/plugins/shop/groups/roles/modules/cancel.ts +++ b/src/plugins/shop/modules/roles/modules/cancel.ts @@ -39,7 +39,7 @@ export default { const optionRole = options.getRole("role"); if (optionRole === null) { - logger?.verbose(`Role is null.`); + logger?.silly(`Role is null.`); return interaction?.editReply({ embeds: [ @@ -73,7 +73,7 @@ export default { const userDB = await fetchUser(user, guild); if (userDB === null) { - return logger?.verbose(`User is null`); + return logger?.silly(`User is null`); } await shopRolesSchema?.deleteOne({ @@ -104,7 +104,7 @@ export default { }); }) .catch(async (error) => { - return logger?.verbose(`Role could not be deleted. ${error}`); + return logger?.silly(`Role could not be deleted. ${error}`); }); }, }; diff --git a/src/plugins/shop/groups/roles/modules/index.ts b/src/plugins/shop/modules/roles/modules/index.ts similarity index 100% rename from src/plugins/shop/groups/roles/modules/index.ts rename to src/plugins/shop/modules/roles/modules/index.ts diff --git a/src/plugins/utility/modules/avatar.ts b/src/plugins/utility/modules/avatar.ts index 86494c1..aa8c0e0 100644 --- a/src/plugins/utility/modules/avatar.ts +++ b/src/plugins/utility/modules/avatar.ts @@ -1,6 +1,5 @@ import { successColor, footerText, footerIcon } from "@config/embed"; -import i18next from "i18next"; import { CommandInteraction, MessageEmbed } from "discord.js"; import { SlashCommandSubcommandBuilder } from "@discordjs/builders"; @@ -18,32 +17,19 @@ export default { ); }, execute: async (interaction: CommandInteraction) => { - const { locale } = interaction; - const userOption = interaction.options.getUser("user"); const targetUser = userOption || interaction.user; const embed = new MessageEmbed() - .setTitle( - i18next.t("utility:modules:avatar:general:title", { - lng: locale, - ns: "plugins", - }) - ) + .setTitle("[:tools:] Avatar") .setTimestamp(new Date()) .setFooter({ text: footerText, iconURL: footerIcon }); return interaction.editReply({ embeds: [ embed - .setDescription( - i18next.t("utility:modules:avatar:success01:description", { - lng: locale, - ns: "plugins", - user: targetUser, - }) - ) + .setDescription(`${targetUser.username}'s avatar:`) .setThumbnail(targetUser.displayAvatarURL()) .setColor(successColor), ], diff --git a/src/schedules/jobs/shopRoles.ts b/src/schedules/jobs/shopRoles.ts index be1767b..b42a3f5 100644 --- a/src/schedules/jobs/shopRoles.ts +++ b/src/schedules/jobs/shopRoles.ts @@ -64,7 +64,7 @@ export default async (client: Client) => { guildId, }) .then(async () => { - logger.verbose( + logger.silly( `Shop role document ${roleId} has been deleted from user ${userId}.` ); }) @@ -78,7 +78,7 @@ export default async (client: Client) => { } if (new Date() > nextPayment) { - logger.verbose( + logger.silly( `Shop role ${roleId} is due for payment. Withdrawing credits from user ${userId}.` ); @@ -109,7 +109,7 @@ export default async (client: Client) => { await role .save() .then(async () => { - logger.verbose(`Shop role ${roleId} has been paid for.`); + logger.silly(`Shop role ${roleId} has been paid for.`); }) .catch(async (err) => { logger.error( @@ -118,7 +118,7 @@ export default async (client: Client) => { ); }); - logger.verbose( + logger.silly( `Shop role ${roleId} has been paid for. Keeping role ${roleId} for user ${userId}.` ); })