From 8554b0d5e80e163568d32053e9c68483bb114487 Mon Sep 17 00:00:00 2001 From: Jorel97 <83238249+Jorel97@users.noreply.github.com> Date: Fri, 29 May 2026 13:00:45 -0600 Subject: [PATCH 1/7] fix(bot): align nested bot tsconfigs with base config --- packages/bot/core/tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bot/core/tsconfig.json b/packages/bot/core/tsconfig.json index 61d15314..f59d8a0f 100644 --- a/packages/bot/core/tsconfig.json +++ b/packages/bot/core/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { "outDir": "./dist", "rootDir": "./src" }, "include": ["src/**/*.ts"] -} \ No newline at end of file +} From 43f7dfc640294deedaf9fea409e679847d8f6afd Mon Sep 17 00:00:00 2001 From: Jorel97 <83238249+Jorel97@users.noreply.github.com> Date: Fri, 29 May 2026 13:00:47 -0600 Subject: [PATCH 2/7] fix(bot): align nested bot tsconfigs with base config --- packages/bot/discord/tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bot/discord/tsconfig.json b/packages/bot/discord/tsconfig.json index 61d15314..f59d8a0f 100644 --- a/packages/bot/discord/tsconfig.json +++ b/packages/bot/discord/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { "outDir": "./dist", "rootDir": "./src" }, "include": ["src/**/*.ts"] -} \ No newline at end of file +} From 82c680536fdc1e1b17b5ce63040a43a33f761a7b Mon Sep 17 00:00:00 2001 From: Jorel97 <83238249+Jorel97@users.noreply.github.com> Date: Fri, 29 May 2026 13:00:49 -0600 Subject: [PATCH 3/7] fix(bot): align nested bot tsconfigs with base config --- packages/bot/signal/tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bot/signal/tsconfig.json b/packages/bot/signal/tsconfig.json index 61d15314..f59d8a0f 100644 --- a/packages/bot/signal/tsconfig.json +++ b/packages/bot/signal/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { "outDir": "./dist", "rootDir": "./src" }, "include": ["src/**/*.ts"] -} \ No newline at end of file +} From d207a98b256adc222ffc3da3333be095f88d5b19 Mon Sep 17 00:00:00 2001 From: Jorel97 <83238249+Jorel97@users.noreply.github.com> Date: Fri, 29 May 2026 13:00:51 -0600 Subject: [PATCH 4/7] fix(bot): align nested bot tsconfigs with base config --- packages/bot/telegram/tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bot/telegram/tsconfig.json b/packages/bot/telegram/tsconfig.json index 61d15314..f59d8a0f 100644 --- a/packages/bot/telegram/tsconfig.json +++ b/packages/bot/telegram/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { "outDir": "./dist", "rootDir": "./src" }, "include": ["src/**/*.ts"] -} \ No newline at end of file +} From 0b8848258e658e050ae050d1f3531d43907ce4f3 Mon Sep 17 00:00:00 2001 From: Jorel97 <83238249+Jorel97@users.noreply.github.com> Date: Fri, 29 May 2026 13:00:52 -0600 Subject: [PATCH 5/7] fix(bot): align nested bot tsconfigs with base config --- packages/bot/whatsapp/tsconfig.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/bot/whatsapp/tsconfig.json b/packages/bot/whatsapp/tsconfig.json index 61d15314..f59d8a0f 100644 --- a/packages/bot/whatsapp/tsconfig.json +++ b/packages/bot/whatsapp/tsconfig.json @@ -1,8 +1,8 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../../tsconfig.base.json", "compilerOptions": { "outDir": "./dist", "rootDir": "./src" }, "include": ["src/**/*.ts"] -} \ No newline at end of file +} From d217bde9aac0d075eaa90ef6f7f1b68df4478141 Mon Sep 17 00:00:00 2001 From: Jorel97 <83238249+Jorel97@users.noreply.github.com> Date: Fri, 29 May 2026 13:00:54 -0600 Subject: [PATCH 6/7] fix(bot): align nested bot tsconfigs with base config --- packages/bot/whatsapp/src/index.ts | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/packages/bot/whatsapp/src/index.ts b/packages/bot/whatsapp/src/index.ts index e1948341..0cfc7a91 100644 --- a/packages/bot/whatsapp/src/index.ts +++ b/packages/bot/whatsapp/src/index.ts @@ -27,6 +27,17 @@ export interface IncomingMessage { } type MessageHandler = (msg: IncomingMessage) => void | Promise; +type WhatsAppTimestamp = number | string | { toNumber?: () => number }; + +function toUnixMs(timestamp: WhatsAppTimestamp | null | undefined): number { + if (typeof timestamp === "number") return timestamp * 1000; + if (typeof timestamp === "string") return Number(timestamp) * 1000; + + const numeric = timestamp?.toNumber?.(); + if (typeof numeric === "number") return numeric * 1000; + + return Date.now(); +} export class WhatsAppBot { private sock: WASocket | null = null; @@ -54,7 +65,8 @@ export class WhatsAppBot { for (const msg of messages) { if (!msg.message || msg.key.fromMe) continue; - const chatId = msg.key.remoteJid!; + const chatId = msg.key.remoteJid; + if (!chatId) continue; const isGroup = chatId.endsWith("@g.us"); const text = msg.message.conversation || @@ -65,7 +77,7 @@ export class WhatsAppBot { source: chatId, sourceName: msg.pushName || "User", text, - timestamp: msg.messageTimestamp * 1000, + timestamp: toUnixMs(msg.messageTimestamp), chatId, isGroup, attachments: [], @@ -125,4 +137,4 @@ export function loadConfig(env: Record): Config { allowedUsers: env.ALLOWED_USERS?.split(",").map((u) => u.trim()).filter(Boolean) || [], adminUsers: env.ADMIN_USERS?.split(",").map((u) => u.trim()).filter(Boolean) || [], }); -} \ No newline at end of file +} From 0d7f4ea3483ea4a295a3eeaaa9a8d660b85a65db Mon Sep 17 00:00:00 2001 From: Jorel97 <83238249+Jorel97@users.noreply.github.com> Date: Fri, 29 May 2026 13:04:01 -0600 Subject: [PATCH 7/7] fix(bot): guard invalid WhatsApp timestamp strings --- packages/bot/whatsapp/src/index.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/bot/whatsapp/src/index.ts b/packages/bot/whatsapp/src/index.ts index 0cfc7a91..66071c03 100644 --- a/packages/bot/whatsapp/src/index.ts +++ b/packages/bot/whatsapp/src/index.ts @@ -31,10 +31,13 @@ type WhatsAppTimestamp = number | string | { toNumber?: () => number }; function toUnixMs(timestamp: WhatsAppTimestamp | null | undefined): number { if (typeof timestamp === "number") return timestamp * 1000; - if (typeof timestamp === "string") return Number(timestamp) * 1000; + if (typeof timestamp === "string") { + const numeric = Number(timestamp); + return Number.isFinite(numeric) ? numeric * 1000 : Date.now(); + } const numeric = timestamp?.toNumber?.(); - if (typeof numeric === "number") return numeric * 1000; + if (typeof numeric === "number" && Number.isFinite(numeric)) return numeric * 1000; return Date.now(); }