fix: Telegram API requests fail with Network request failed after

Fixes #28835
This commit is contained in:
0xlin2023
2026-03-06 23:43:30 +08:00
committed by Ayaan Zaidi
parent d000316d19
commit e6bf69b366
3 changed files with 43 additions and 1 deletions

View File

@@ -779,6 +779,29 @@ describe("sendMessageTelegram", () => {
expect(sendMessage).toHaveBeenCalledTimes(1);
});
it("retries when grammY network envelope message includes failed-after wording", async () => {
const chatId = "123";
const sendMessage = vi
.fn()
.mockRejectedValueOnce(new Error("Network request for 'sendMessage' failed after 1 attempts."))
.mockResolvedValueOnce({
message_id: 7,
chat: { id: chatId },
});
const api = { sendMessage } as unknown as {
sendMessage: typeof sendMessage;
};
const result = await sendMessageTelegram(chatId, "hi", {
token: "tok",
api,
retry: { attempts: 2, minDelayMs: 0, maxDelayMs: 0, jitter: 0 },
});
expect(sendMessage).toHaveBeenCalledTimes(2);
expect(result).toEqual({ messageId: "7", chatId });
});
it("sends GIF media as animation", async () => {
const chatId = "123";
const sendAnimation = vi.fn().mockResolvedValue({