From 165f43a691bccb01d825842d4e0883d2b6ec5217 Mon Sep 17 00:00:00 2001 From: devilreef <86633411+devilr33f@users.noreply.github.com> Date: Sat, 10 Jan 2026 19:06:52 +0600 Subject: [PATCH] feat: add global ignoredUserIds config option Skip messages from specified Discord user IDs regardless of channel/role matching. Co-Authored-By: Claude --- src/config.ts | 4 ++++ src/discord/handlers.ts | 3 +++ src/types.ts | 1 + 3 files changed, 8 insertions(+) diff --git a/src/config.ts b/src/config.ts index b16e7a7..d36fb2d 100644 --- a/src/config.ts +++ b/src/config.ts @@ -15,6 +15,10 @@ function loadConfig(): Config { throw new Error('Config missing telegram.chatId') } + if (config.ignoredUserIds && !Array.isArray(config.ignoredUserIds)) { + throw new Error('ignoredUserIds must be an array') + } + if (!Array.isArray(config.servers) || config.servers.length === 0) { throw new Error('Config missing servers array') } diff --git a/src/discord/handlers.ts b/src/discord/handlers.ts index 29f616b..233b17c 100644 --- a/src/discord/handlers.ts +++ b/src/discord/handlers.ts @@ -28,6 +28,9 @@ async function handleMessage(message: Message): Promise { if ((message.reference as any)?.type === 'FORWARD') return + if (config.ignoredUserIds?.includes(message.author.id)) + return + const serverConfig = config.servers.find((s: { guildId: string }) => s.guildId === message.guild!.id) if (!serverConfig) return diff --git a/src/types.ts b/src/types.ts index 807bf00..7d08c46 100644 --- a/src/types.ts +++ b/src/types.ts @@ -22,6 +22,7 @@ export interface Config { chatId: string } servers: ServerConfig[] + ignoredUserIds?: string[] } export interface ForwardMessageOptions {