fix(telegram): improve error messages for 403 bot not member errors
- Detect 403 'bot is not a member' errors specifically - Provide actionable guidance for users to fix the issue - Fixes #48273 where outbound sendMessage fails with 403 Root cause: When a Telegram bot tries to send a message to a channel/group it's not a member of, the API returns 403 'bot is not a member of the channel chat'. The error message was not clear about how to fix this. Fix: 1. Detect 403 errors in wrapTelegramChatNotFoundError 2. Provide clear error message explaining the issue 3. Suggest adding the bot to the channel/group
This commit is contained in:
parent
f404ff32d5
commit
f0f8226fac
@ -491,7 +491,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" error
|
||||
if (/403.*bot.*not.*member|bot.*blocked/i.test(errorMsg)) {
|
||||
return new Error(
|
||||
[
|
||||
`Telegram send failed: bot is not a member of the chat (chat_id=${params.chatId}).`,
|
||||
"Fix: Add the bot to the channel/group, or ensure it has not been removed/blocked.",
|
||||
`Input was: ${JSON.stringify(params.input)}.`,
|
||||
].join(" "),
|
||||
);
|
||||
}
|
||||
|
||||
if (!CHAT_NOT_FOUND_RE.test(errorMsg)) {
|
||||
return err;
|
||||
}
|
||||
return new Error(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user