diff --git a/src/middlewares/message-user-storage.ts b/src/middlewares/message-user-storage.ts index 463bdc5..b709465 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.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() + } + ) } async get(chatId: number, messageId: number): Promise { 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(