diff --git a/extensions/telegram/src/send.ts b/extensions/telegram/src/send.ts index 55f1d689359..27873c76331 100644 --- a/extensions/telegram/src/send.ts +++ b/extensions/telegram/src/send.ts @@ -494,7 +494,20 @@ function createTelegramRequestWithDiag(params: { } function wrapTelegramChatNotFoundError(err: unknown, params: { chatId: string; input: string }) { - if (!CHAT_NOT_FOUND_RE.test(formatErrorMessage(err))) { + const errorMsg = formatErrorMessage(err); + + // Check for 403 "bot is not a member" or "bot was blocked" errors + if (/403.*(bot.*not.*member|bot was blocked)/i.test(errorMsg)) { + return new Error( + [ + `Telegram send failed: bot is not a member of the chat or was blocked (chat_id=${params.chatId}).`, + "Fix: Add the bot to the channel/group, or ensure it has not been removed/blocked by the user.", + `Input was: ${JSON.stringify(params.input)}.`, + ].join(" "), + ); + } + + if (!CHAT_NOT_FOUND_RE.test(errorMsg)) { return err; } return new Error(