diff --git a/src/utils/event-log-utils.ts b/src/utils/event-log-utils.ts index 6b4fa9c..5e56ba9 100644 --- a/src/utils/event-log-utils.ts +++ b/src/utils/event-log-utils.ts @@ -1,8 +1,9 @@ -import { APIEmbedField, Channel, EmbedBuilder, Guild, GuildTextBasedChannel, messageLink, TextBasedChannel } from 'discord.js'; +import { APIEmbedField, Channel, EmbedBuilder, Guild, GuildBasedChannel, GuildTextBasedChannel, messageLink, TextBasedChannel } from 'discord.js'; import { Database } from '../shared/Database'; import { Message } from '../events'; import { deserializeMessagePart, getModifiedAttachments, getModifiedStickers } from './message-utils'; import { LoggedMessage } from '../types'; +import { channelIsInStaffCategory } from './channel-utils'; type CustomEventLogData = { title: string @@ -13,7 +14,7 @@ type CustomEventLogData = { } export async function logEdit(loggedMessage: LoggedMessage, newMessage: Message) { - const channel = await getEventLogChannel(newMessage.guild, newMessage.channel.parentId); + const channel = await getEventLogChannel(newMessage.guild, newMessage.channel); if (!channel) return; @@ -31,7 +32,7 @@ export async function logEdit(loggedMessage: LoggedMessage, newMessage: Message< } export async function logDeletion(loggedMessage: LoggedMessage, deletedMessage: Message) { - const channel = await getEventLogChannel(deletedMessage.guild, deletedMessage.channel.parentId); + const channel = await getEventLogChannel(deletedMessage.guild, deletedMessage.channel); if (!channel) return; @@ -63,14 +64,12 @@ export async function logCustomEvent(guild: Guild, data: CustomEventLogData) { channel.send({ embeds: [embed] }); } -async function getEventLogChannel(guild: Guild, parentId: string | null = null): Promise { +async function getEventLogChannel(guild: Guild, channel: GuildBasedChannel | null): Promise { const settings = await Database.getGuildSettings(guild.id); if (!settings) return null; - const staffCategories = await Database.getGuildArraySetting('staff_categories', guild.id); - - if (parentId != null && staffCategories.includes(parentId)) { + if (channel && await channelIsInStaffCategory(channel)) { if (!settings.event_logs_channel_id) return null; const channel = await guild.channels.fetch(settings.event_logs_channel_id);