diff --git a/src/events/guildMemberAdd/joinMessage.ts b/src/events/guildMemberAdd/joinMessage.ts index bf97b12..57703fb 100644 --- a/src/events/guildMemberAdd/joinMessage.ts +++ b/src/events/guildMemberAdd/joinMessage.ts @@ -1,6 +1,6 @@ -import { EmbedBuilder, GuildMember, TextChannel } from "discord.js"; +import { ChannelType, EmbedBuilder, GuildMember } from "discord.js"; +import prisma from "../../handlers/database"; import getEmbedConfig from "../../helpers/getEmbedData"; -import guildSchema from "../../models/guild"; export default { execute: async (member: GuildMember) => { @@ -8,29 +8,33 @@ export default { member.guild ); - const guildData = await guildSchema.findOne({ guildId: member.guild.id }); + const getGuild = await prisma.guild.findUnique({ + where: { id: member.guild.id }, + }); + + if (!getGuild) throw new Error("Guild not found"); const { client } = member; - if (guildData === null) return; - - if (guildData.welcome.status !== true) return; - if (!guildData.welcome.joinChannel) return; + if (getGuild.welcomeEnabled !== true) return; + if (!getGuild.welcomeJoinChannelId) return; const channel = client.channels.cache.get( - `${guildData.welcome.joinChannel}` + `${getGuild.welcomeJoinChannelId}` ); - if (channel === null) return; + if (!channel) throw new Error("Channel not found"); + if (channel.type !== ChannelType.GuildText) + throw new Error("Channel is not a text channel"); - (channel as TextChannel).send({ + channel.send({ embeds: [ new EmbedBuilder() .setColor(successColor) .setTitle(`${member.user.username} has joined the server!`) .setThumbnail(member.user.displayAvatarURL()) .setDescription( - guildData.welcome.joinChannelMessage || + getGuild.welcomeJoinChannelMessage || "Configure a join message in the `/settings guild welcome`." ) .setTimestamp() diff --git a/src/events/guildMemberRemove/leaveMessage.ts b/src/events/guildMemberRemove/leaveMessage.ts index 79a2460..9ac7c85 100644 --- a/src/events/guildMemberRemove/leaveMessage.ts +++ b/src/events/guildMemberRemove/leaveMessage.ts @@ -1,6 +1,6 @@ -import { EmbedBuilder, GuildMember, TextChannel } from "discord.js"; +import { ChannelType, EmbedBuilder, GuildMember } from "discord.js"; +import prisma from "../../handlers/database"; import getEmbedConfig from "../../helpers/getEmbedData"; -import guildSchema from "../../models/guild"; export default { execute: async (member: GuildMember) => { @@ -8,29 +8,33 @@ export default { member.guild ); - const guildData = await guildSchema.findOne({ guildId: member.guild.id }); + const getGuild = await prisma.guild.findUnique({ + where: { id: member.guild.id }, + }); + + if (!getGuild) throw new Error("Guild not found"); const { client } = member; - if (guildData === null) return; - - if (guildData.welcome.status !== true) return; - if (!guildData.welcome.leaveChannel) return; + if (getGuild.welcomeEnabled !== true) return; + if (!getGuild.welcomeLeaveChannelId) return; const channel = client.channels.cache.get( - `${guildData.welcome.leaveChannel}` + `${getGuild.welcomeLeaveChannelId}` ); - if (channel === null) return; + if (!channel) throw new Error("Channel not found"); + if (channel.type !== ChannelType.GuildText) + throw new Error("Channel is not a text channel"); - (channel as TextChannel).send({ + channel.send({ embeds: [ new EmbedBuilder() .setColor(errorColor) .setTitle(`${member.user.username} has left the server!`) .setThumbnail(member.user.displayAvatarURL()) .setDescription( - guildData.welcome.leaveChannelMessage || + getGuild.welcomeLeaveChannelMessage || "Configure a leave message in the `/settings guild welcome`." ) .setTimestamp()