Telegram/Discord: honor outbound mediaMaxMb uploads (#38065)

* Telegram: default media cap to 100MB

* Telegram: honor outbound mediaMaxMb

* Discord: add shared media upload cap

* Discord: pass mediaMaxMb to outbound sends

* Telegram: cover outbound media cap sends

* Discord: cover media upload cap config

* Docs: update Telegram media cap guide

* Docs: update Telegram config reference

* Changelog: note media upload cap fix

* Docs: note Discord upload cap behavior
This commit is contained in:
Vincent Koc
2026-03-06 10:53:06 -05:00
committed by GitHub
parent 9917a3fb77
commit 9c1786bdd6
10 changed files with 112 additions and 6 deletions

View File

@@ -1149,6 +1149,69 @@ describe("sendMessageTelegram", () => {
});
expect(res.messageId).toBe("59");
});
it("defaults outbound media uploads to 100MB", async () => {
const chatId = "123";
const sendPhoto = vi.fn().mockResolvedValue({
message_id: 60,
chat: { id: chatId },
});
const api = { sendPhoto } as unknown as {
sendPhoto: typeof sendPhoto;
};
mockLoadedMedia({
buffer: Buffer.from("fake-image"),
contentType: "image/jpeg",
fileName: "photo.jpg",
});
await sendMessageTelegram(chatId, "photo", {
token: "tok",
api,
mediaUrl: "https://example.com/photo.jpg",
});
expect(loadWebMedia).toHaveBeenCalledWith(
"https://example.com/photo.jpg",
expect.objectContaining({ maxBytes: 100 * 1024 * 1024 }),
);
});
it("uses configured telegram mediaMaxMb for outbound uploads", async () => {
const chatId = "123";
const sendPhoto = vi.fn().mockResolvedValue({
message_id: 61,
chat: { id: chatId },
});
const api = { sendPhoto } as unknown as {
sendPhoto: typeof sendPhoto;
};
loadConfig.mockReturnValue({
channels: {
telegram: {
mediaMaxMb: 42,
},
},
});
mockLoadedMedia({
buffer: Buffer.from("fake-image"),
contentType: "image/jpeg",
fileName: "photo.jpg",
});
await sendMessageTelegram(chatId, "photo", {
token: "tok",
api,
mediaUrl: "https://example.com/photo.jpg",
});
expect(loadWebMedia).toHaveBeenCalledWith(
"https://example.com/photo.jpg",
expect.objectContaining({ maxBytes: 42 * 1024 * 1024 }),
);
});
});
describe("reactMessageTelegram", () => {