Fix channel resolution
This commit is contained in:
@@ -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<true>) {
|
||||
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<true>) {
|
||||
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<GuildTextBasedChannel | null> {
|
||||
async function getEventLogChannel(guild: Guild, channel: GuildBasedChannel | null): Promise<GuildTextBasedChannel | null> {
|
||||
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);
|
||||
|
||||
Reference in New Issue
Block a user