INNER CODE UNIT · TypeScript
handleError
grammyjs/grammY · src/bot.ts:650
async function handleError(error: unknown) {
let delay = false;
let strategy: "retry" | "rethrow" = "rethrow";
if (error instanceof HttpError) {
delay = true;
strategy = "retry";
} else if (error instanceof GrammyError) {
if (error.error_code >= 500) {
delay = true;
strategy = "retry";
} else if (error.error_code === 429) {
const retryAfterSeconds = error.parameters.retry_after;
if (typeof retryAfterSeconds === "number") {
// ignore the backoff for sleep, then reset it
await sleep(1000 * retryAfterSeconds, signal);
lastDelay = INITIAL_DELAY;
} else {