diff --git a/src/events/messageCreate/index.ts b/src/events/messageCreate/index.ts index d58f5e4..627d353 100644 --- a/src/events/messageCreate/index.ts +++ b/src/events/messageCreate/index.ts @@ -1,22 +1,15 @@ import { Message } from "discord.js"; import { IEventOptions } from "../../interfaces/EventOptions"; -import modules from "./modules"; +import countersExecute from "./modules/counters"; +import creditsExecute from "./modules/credits"; +import pointsExecute from "./modules/points"; export const options: IEventOptions = { type: "on", }; -// Execute the function export const execute = async (message: Message) => { - await modules.credits.execute(message); - await modules.points.execute(message); - await modules.counters.execute(message); - - if (!message.member) return; - if (message.author.bot) return; - - // client.emit("guildMemberAdd", message.member); - // client.emit("guildMemberRemove", message.member); - // client.emit("messageDelete", message); - // client.emit("messageUpdate", message, message); + await creditsExecute(message); + await pointsExecute(message); + await countersExecute(message); }; diff --git a/src/events/messageCreate/modules/counters/index.ts b/src/events/messageCreate/modules/counters/index.ts index 416a308..8fe8664 100644 --- a/src/events/messageCreate/modules/counters/index.ts +++ b/src/events/messageCreate/modules/counters/index.ts @@ -2,68 +2,66 @@ import { ChannelType, Message } from "discord.js"; import prisma from "../../../../handlers/database"; import logger from "../../../../middlewares/logger"; -export default { - execute: async (message: Message) => { - const { guild, author, content, channel } = message; +export default async (message: Message) => { + const { guild, author, content, channel } = message; - if (!guild) return; - if (author.bot) return; - if (channel?.type !== ChannelType.GuildText) return; + if (!guild) return; + if (author.bot) return; + if (channel?.type !== ChannelType.GuildText) return; - const messages = await message.channel.messages.fetch({ limit: 2 }); - const lastMessage = messages.last(); + const messages = await message.channel.messages.fetch({ limit: 2 }); + const lastMessage = messages.last(); - const channelCounter = await prisma.guildCounters.findUnique({ - where: { - guildId_channelId: { - guildId: guild.id, - channelId: channel.id, - }, + const channelCounter = await prisma.guildCounters.findUnique({ + where: { + guildId_channelId: { + guildId: guild.id, + channelId: channel.id, }, - }); + }, + }); - if (!channelCounter) { - logger.debug("No counters found in channel."); - return; - } + if (!channelCounter) { + logger.debug("No counters found in channel."); + return; + } - if ( - lastMessage?.author.id === author.id && - channel.id === channelCounter.channelId - ) { - logger.silly( - `${author.username} sent the last message therefor not allowing again.` - ); - await message.delete(); - return; - } + if ( + lastMessage?.author.id === author.id && + channel.id === channelCounter.channelId + ) { + logger.silly( + `${author.username} sent the last message therefor not allowing again.` + ); + await message.delete(); + return; + } - if (content !== channelCounter.triggerWord) { - logger.silly( - `Counter word ${channelCounter.triggerWord} does not match message ${content}` - ); + if (content !== channelCounter.triggerWord) { + logger.silly( + `Counter word ${channelCounter.triggerWord} does not match message ${content}` + ); - await message.delete(); - return; - } + await message.delete(); + return; + } - const updateGuildCounter = await prisma.guildCounters.update({ - where: { - guildId_channelId: { - guildId: guild.id, - channelId: channel.id, - }, + const updateGuildCounter = await prisma.guildCounters.update({ + where: { + guildId_channelId: { + guildId: guild.id, + channelId: channel.id, }, - data: { - count: { - increment: 1, - }, + }, + data: { + count: { + increment: 1, }, - }); + }, + }); - logger.silly(updateGuildCounter); + logger.silly(updateGuildCounter); - if (!updateGuildCounter) - logger.error(`Failed to update counter - ${updateGuildCounter}`); - }, + if (!updateGuildCounter) + logger.error(`Failed to update counter - ${updateGuildCounter}`); }; diff --git a/src/events/messageCreate/modules/credits/index.ts b/src/events/messageCreate/modules/credits/index.ts index 22a9068..b8a7051 100644 --- a/src/events/messageCreate/modules/credits/index.ts +++ b/src/events/messageCreate/modules/credits/index.ts @@ -4,86 +4,46 @@ import creditsGive from "../../../../helpers/credits/give"; import cooldown from "../../../../middlewares/cooldown"; import logger from "../../../../middlewares/logger"; -export default { - execute: async (message: Message) => { - const { guild, author, content, channel } = message; +export default async (message: Message) => { + const { guild, author, content, channel } = message; - if (!guild) return; - if (author.bot) return; - if (channel.type !== ChannelType.GuildText) return; + if (!guild) return; + if (author.bot) return; + if (channel.type !== ChannelType.GuildText) return; - const createGuildMember = await prisma.guildMember.upsert({ - where: { - userId_guildId: { - userId: author.id, - guildId: guild.id, - }, - }, - update: {}, - create: { - user: { - connectOrCreate: { - create: { - id: author.id, - }, - where: { - id: author.id, - }, + const upsertGuildConfigCredits = await prisma.guildConfigCredits.upsert({ + where: { + id: guild.id, + }, + update: {}, + create: { + guild: { + connectOrCreate: { + create: { + id: guild.id, }, - }, - guild: { - connectOrCreate: { - create: { - id: guild.id, - }, - where: { - id: guild.id, - }, + where: { + id: guild.id, }, }, }, - include: { - user: true, - guild: true, - }, - }); + }, + include: { + guild: true, + }, + }); - logger.silly(createGuildMember); + logger.silly(upsertGuildConfigCredits); - const upsertGuildConfigCredits = await prisma.guildConfigCredits.upsert({ - where: { - id: guild.id, - }, - update: {}, - create: { - guild: { - connectOrCreate: { - create: { - id: guild.id, - }, - where: { - id: guild.id, - }, - }, - }, - }, - include: { - guild: true, - }, - }); + if (content.length < upsertGuildConfigCredits.minimumLength) return; - logger.silly(upsertGuildConfigCredits); + await cooldown( + guild, + author, + "event-messageCreate-credits", + upsertGuildConfigCredits.timeout, + true + ); - if (content.length < upsertGuildConfigCredits.minimumLength) return; - - await cooldown( - guild, - author, - "event-messageCreate-credits", - upsertGuildConfigCredits.timeout, - true - ); - - await creditsGive(guild, author, upsertGuildConfigCredits.rate); - }, + await creditsGive(guild, author, upsertGuildConfigCredits.rate); }; diff --git a/src/events/messageCreate/modules/index.ts b/src/events/messageCreate/modules/index.ts deleted file mode 100644 index aff2dd3..0000000 --- a/src/events/messageCreate/modules/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -import counters from "./counters"; -import credits from "./credits"; -import points from "./points"; - -export default { - counters, - credits, - points, -}; diff --git a/src/events/messageCreate/modules/points/index.ts b/src/events/messageCreate/modules/points/index.ts index b5b5372..713d177 100644 --- a/src/events/messageCreate/modules/points/index.ts +++ b/src/events/messageCreate/modules/points/index.ts @@ -3,65 +3,63 @@ import prisma from "../../../../handlers/database"; import cooldown from "../../../../middlewares/cooldown"; import logger from "../../../../middlewares/logger"; -export default { - execute: async (message: Message) => { - const { guild, author, content, channel } = message; +export default async (message: Message) => { + const { guild, author, content, channel } = message; - if (!guild) return; - if (author.bot) return; - if (channel.type !== ChannelType.GuildText) return; + if (!guild) return; + if (author.bot) return; + if (channel.type !== ChannelType.GuildText) return; - const upsertGuildConfigPoints = await prisma.guildConfigPoints.upsert({ - where: { - id: guild.id, - }, - update: {}, - create: { - guild: { - connectOrCreate: { - create: { - id: guild.id, - }, - where: { - id: guild.id, - }, + const upsertGuildConfigPoints = await prisma.guildConfigPoints.upsert({ + where: { + id: guild.id, + }, + update: {}, + create: { + guild: { + connectOrCreate: { + create: { + id: guild.id, + }, + where: { + id: guild.id, }, }, }, - include: { - guild: true, + }, + include: { + guild: true, + }, + }); + + logger.silly(upsertGuildConfigPoints); + + if (content.length < upsertGuildConfigPoints.minimumLength) return; + + await cooldown( + guild, + author, + "event-messageCreate-points", + upsertGuildConfigPoints.timeout, + true + ); + + const updateGuildMember = await prisma.guildMember.update({ + where: { + userId_guildId: { + userId: author.id, + guildId: guild.id, }, - }); - - logger.silly(upsertGuildConfigPoints); - - if (content.length < upsertGuildConfigPoints.minimumLength) return; - - await cooldown( - guild, - author, - "event-messageCreate-points", - upsertGuildConfigPoints.timeout, - true - ); - - const updateGuildMember = await prisma.guildMember.update({ - where: { - userId_guildId: { - userId: author.id, - guildId: guild.id, - }, + }, + data: { + pointsEarned: { + increment: upsertGuildConfigPoints.rate, }, - data: { - pointsEarned: { - increment: upsertGuildConfigPoints.rate, - }, - }, - }); + }, + }); - logger.silly(updateGuildMember); + logger.silly(updateGuildMember); - if (!updateGuildMember) - throw new Error("Failed to update guildMember object"); - }, + if (!updateGuildMember) + throw new Error("Failed to update guildMember object"); };