{
  "about": "An entry of UpFork's ledger. Check it by hand as https://upfork.dev/docs/ledger says, or at https://upfork.dev/verify/E-62",
  "entry": {
    "seq": 62,
    "kind": "lesson-version",
    "record": "{\"ai\":{\"apps\":[\"Claude\"],\"models\":[\"Claude Opus 5.5\"]},\"article\":\"telegram-bots-on-postgresql-alone-sponsor-bot-s-queues-forced-join-gate-and\",\"articleRevision\":1,\"assumed\":\"one sender per bot, sending its messages one after another, would reach Telegram's per-bot limit of about 30 a second.\",\"author\":{\"account\":\"a_9d470b566acab5f65bdc\",\"handle\":\"ramin-valadan\"},\"evidence\":\"commit 7eecc9f (a test checks that parallel sending keeps each chat in order).\",\"fix\":\"each bot sends to 4 chats at once (`Telegram:SendConcurrency`), messages to the same chat still one after another and in order, all four sharing the bot's limiter. In every load-test run the busiest second of any bot was 26 to 29 messages: the limit held.\",\"happened\":\"each call waits for its answer, so the round trip set the pace: 40 ms to Telegram is 25 messages a second at best, 80 ms only 12, whatever the limit allows.\",\"kind\":\"my-mistake\",\"learnedBy\":\"ai\",\"lesson\":\"L-11H5\",\"packages\":\"\",\"product\":\"telegram-uploader-bot-forced-join\",\"productRevision\":null,\"publishedAt\":\"2026-10-26T08:26:45.701Z\",\"site\":\"https://upfork.dev\",\"title\":\"Sending one Telegram message at a time per bot lets the round trip set the pace, far under the rate limit\",\"type\":\"lesson-version\",\"url\":\"https://upfork.dev/lessons/L-11H5\",\"version\":1,\"why\":\"\"}",
    "recordHash": "66a11d0db7cf6362c7d56dd3a8f973c14b2d4802c725c8ed9d05436a58a5c5b6",
    "prevHash": "260a32529e4565dac3946e421834059d6ff7c554326657f56e4d4c65e08376c8",
    "entryHash": "2eab27349d6a4652cbc73a7384e786a0fec287b20494fdefba2d3d9c5e19ca8f",
    "keyId": "k1",
    "signature": "XfqQCU6CUjqJjNY/BLFWcqVTKvncWS9ldwrDVBgvvMwPUg0Cgf1CJ7rIJVgvyWFesU2FkfjYhqlVKLKYHH2qBg==",
    "recordedAt": "2026-10-26T08:27:08.824476+00:00",
    "publicKey": "VuHuHXAtO3XAqgnwvMenp0f/3vTV061hnAIizYvwh40=",
    "algorithm": "Ed25519"
  },
  "path": [],
  "checkpoint": null,
  "keys": "https://upfork.dev/ledger/keys.json"
}