Digital Garden
The file_id Vault: The Dharma Door Around Fifty Megabytes
In every great empire’s laws there are clauses that seem unreasonable but are economics: the weight of goods never matters; what matters is the weight of “the reference.”
With TA’s album ready, a physical chasm blocked the way: the Telegram bot API’s direct-upload ceiling is 50MB. And her “separate volume” held 34 oversize giants, the largest 787MB.
I. The crack in the law
The engineers found a clearly written crack in Telegram’s law: a bot’s direct upload caps at 50MB, but “resending an existing file” has no size limit. Thus the craft of “archiving”:
- The user, with their own TG account, sends the big file to the bot once (account-to-bot transfers cap at 2GB; 787MB is effortless);
- The plugin records the file’s file_id — TG’s permanent ID card for every successfully received file;
- Thereafter, when the “album” wants to send this video, the bot forwards it by file_id — 1MB or 900MB, equally fast, because the file lives on TG’s servers all along; the bot merely passes a reference.
The cost is fair and lovely: pay a few minutes of one-time “archiving” toll for each of the 34 big videos, in exchange for permanently no size limit. The user’s original worry about a 500MB cap dissolved on the spot under this crack — file_id resend has no notion of size. The engineers also dismissed the heavier road: not recommended to keep a local Bot API server on Windows just for that 2GB direct upload — feeding a resident service for a few minutes of archiving does not pay. Two classes of historical residue were handled in passing: .livp (iPhone live photos, 4) cannot be sent in native format by TG — convert to jpg+mov or skip; .mov (85) gets the fallback “send if possible, otherwise degrade to a plain file.”
Coda: another delivery the same day
Coincidentally, the same day the old messenger Hermes also completed its first physical delivery. At 16:48, the user sent one line via Feishu: “send me the latest B-TV Machine APK, don’t touch other files; in ZCode the project is called btlly too.” The messenger took 145.1 seconds and 10 API calls, packed the latest built APK into a media attachment, and delivered it across that blue bird.
One side is file_id’s permanent reference, the other Feishu’s media attachment — the new city’s token delivery art and the old city’s messenger artifact, saluting each other across a river on this day. Delivery was always civilization’s oldest business; from post horses to tokens, only the postage changed.
Real coordinates
- Chasm: TG bot API direct-upload ceiling of 50MB (a hard limit of the public API)
- Crack: resend has no size limit; archive flow = user sends to bot once (account cap 2GB) → plugin stores file_id → thereafter instant forward (file lives on TG server, bot only passes a reference)
- Cost: one-time archiving of 34 big videos (max 787MB); local Bot API server option dismissed
- Residue:
.livp×4 convert or skip;.mov×85 send-if-possible else degrade to plain file - Same day: Hermes delivered the latest B-TV Machine APK via Feishu DM at 16:48 (145.1s / 10 API calls / media attachment delivered)
Comments