mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-27 19:25:03 +00:00
fix(logs): fix inconsistent thread/channel/category exclusions; add excluded_threads log channel option
This commit is contained in:
parent
218c31231e
commit
d472fd4fa6
32 changed files with 132 additions and 51 deletions
53
backend/src/utils/resolveChannelIds.ts
Normal file
53
backend/src/utils/resolveChannelIds.ts
Normal file
|
@ -0,0 +1,53 @@
|
|||
import { ChannelType } from "discord-api-types/v9";
|
||||
import { CategoryChannel, Channel } from "discord.js";
|
||||
import { ChannelTypes } from "discord.js/typings/enums";
|
||||
import { ChannelTypeStrings } from "src/types";
|
||||
import { isDmChannel } from "./isDmChannel";
|
||||
import { isGuildChannel } from "./isGuildChannel";
|
||||
import { isThreadChannel } from "./isThreadChannel";
|
||||
|
||||
type ResolvedChannelIds = {
|
||||
category: string | null;
|
||||
channel: string | null;
|
||||
thread: string | null;
|
||||
};
|
||||
|
||||
export function resolveChannelIds(channel: Channel): ResolvedChannelIds {
|
||||
if (isDmChannel(channel)) {
|
||||
return {
|
||||
category: null,
|
||||
channel: channel.id,
|
||||
thread: null,
|
||||
};
|
||||
}
|
||||
|
||||
if (isThreadChannel(channel)) {
|
||||
return {
|
||||
category: channel.parent?.parentId || null,
|
||||
channel: channel.parentId,
|
||||
thread: channel.id,
|
||||
};
|
||||
}
|
||||
|
||||
if (channel instanceof CategoryChannel) {
|
||||
return {
|
||||
category: channel.id,
|
||||
channel: null,
|
||||
thread: null,
|
||||
};
|
||||
}
|
||||
|
||||
if (isGuildChannel(channel)) {
|
||||
return {
|
||||
category: channel.parentId,
|
||||
channel: channel.id,
|
||||
thread: null,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
category: null,
|
||||
channel: channel.id,
|
||||
thread: null,
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue