From 0c808d88ba345044b2f5aa2e9476881725c5393f Mon Sep 17 00:00:00 2001 From: Lorenzo Corallo Date: Thu, 23 Apr 2026 17:13:07 +0200 Subject: [PATCH 1/3] fix: tg-logger fixes --- src/modules/tg-logger/index.ts | 9 ++------- src/modules/tg-logger/report.ts | 1 + 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/modules/tg-logger/index.ts b/src/modules/tg-logger/index.ts index 55a1ddb..e5b76e2 100644 --- a/src/modules/tg-logger/index.ts +++ b/src/modules/tg-logger/index.ts @@ -91,12 +91,8 @@ export class TgLogger extends Module { e.description.includes("there are no messages to forward") ) { logger.warn({ e }, "[TgLogger:forward] Message(s) to forward not found") - // await this.log( - // topicId, - // fmt(({ b, i }) => [b`Could not forward the message`, i`It probably was deleted before forwarding`], { - // sep: "\n", - // }) - // ) + } else if (e.description.includes("MESSAGE_ID_INVALID")) { + logger.warn({ e, chatId, messageIds }, "[TgLogger:forward] Message ID(s) is not valid for telegram API") } else { await this.exception({ type: "BOT_ERROR", error: e }, "TgLogger.forward") logger.error({ e }, "[TgLogger:forward] There was an error while trying to forward a message") @@ -194,7 +190,6 @@ export class TgLogger extends Module { }, } - await this.log(this.topics.banAll, "———————————————") const msg = await this.log(this.topics.banAll, getBanAllText(banAll)) if (!msg?.message_id) { diff --git a/src/modules/tg-logger/report.ts b/src/modules/tg-logger/report.ts index faab03d..df4913f 100644 --- a/src/modules/tg-logger/report.ts +++ b/src/modules/tg-logger/report.ts @@ -140,6 +140,7 @@ export const reportMenu = MenuGenerator.getInstance().create("r { text: "🚨 Start BAN ALL 🚨", cb: async ({ data, ctx }) => { + await ctx.api.deleteMessage(data.message.chat.id, data.message.message_id).catch(() => {}) modules .get("tgLogger") .banAll( From d44027b99e5ae993efde532e7e889a3e79a777b1 Mon Sep 17 00:00:00 2001 From: Lorenzo Corallo Date: Thu, 23 Apr 2026 17:16:35 +0200 Subject: [PATCH 2/3] fix: store user on join --- src/middlewares/message-user-storage.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/middlewares/message-user-storage.ts b/src/middlewares/message-user-storage.ts index 463bdc5..11d6dea 100644 --- a/src/middlewares/message-user-storage.ts +++ b/src/middlewares/message-user-storage.ts @@ -44,6 +44,15 @@ export class MessageUserStorage extends TrackedMiddleware { this.userStorage.set(ctx.from.id, ctx.from) return next() }) + + // save user on join + this.composer.on("chat_member").filter( + (ctx) => ctx.chatMember.new_chat_member.status === "member", + (ctx, next) => { + this.userStorage.set(ctx.chatMember.new_chat_member.user.id, ctx.chatMember.new_chat_member.user) + return next() + } + ) } async get(chatId: number, messageId: number): Promise { From 3197bd7f77bc8f078151232176371b009c81d2d4 Mon Sep 17 00:00:00 2001 From: Lorenzo Corallo Date: Thu, 23 Apr 2026 17:17:07 +0200 Subject: [PATCH 3/3] fix: real join --- src/middlewares/message-user-storage.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/middlewares/message-user-storage.ts b/src/middlewares/message-user-storage.ts index 11d6dea..b709465 100644 --- a/src/middlewares/message-user-storage.ts +++ b/src/middlewares/message-user-storage.ts @@ -47,7 +47,7 @@ export class MessageUserStorage extends TrackedMiddleware { // save user on join this.composer.on("chat_member").filter( - (ctx) => ctx.chatMember.new_chat_member.status === "member", + (ctx) => ctx.chatMember.old_chat_member.status === "left" && ctx.chatMember.new_chat_member.status === "member", (ctx, next) => { this.userStorage.set(ctx.chatMember.new_chat_member.user.id, ctx.chatMember.new_chat_member.user) return next()