publishingtelegram

Telegram auto-publishing: setup, formatting, limits

How to connect a channel through a bot, what to watch in post length and formatting, and why a scheduled post fails — with a table of causes.

Telegram auto-publishing rarely breaks, and when it does it breaks the same way: at the appointed minute the post doesn’t appear, and the cause turns out to be one of five things nobody thought about during setup. Here is how to connect a channel correctly the first time, what the platform’s limits are, and what to do when a post still doesn’t go out.

How publishing to a channel actually works

An external service cannot write to your channel “as the channel” out of nowhere. It needs a bot added to the channel as an administrator with permission to post. The service then calls the Bot API as that bot, and the message appears in the channel as an ordinary post.

Three consequences follow, and they explain almost everything else:

  • the bot sees only what you gave it. It doesn’t read your correspondence and has no access to other channels — only the ones it was added to;
  • you granted the rights and you revoke them. Remove the bot from administrators and publishing stops that second, with no support ticket involved;
  • the bot has no access to channel history. The Bot API does not allow reading messages it did not send. That is a property of the platform, and it explains some of how scheduling services behave.

Setup, step by step

  1. Create a channel or open an existing one. Public and private both work; a bot is fine in a private channel too.
  2. Add the service’s bot to the channel’s administrators. Administrator specifically: an ordinary member cannot post to a channel.
  3. Grant “Post messages”. No other permission is needed. If the service also edits published posts, it will need the edit permission as well.
  4. Check the bot isn’t restricted. A bot that was blocked or removed still looks connected in the service’s interface, but will not publish.
  5. Publish a test post right now, without waiting for the schedule. Testing via the schedule postpones discovering the mistake by a day.

Step five saves the most time. A permissions error is visible in five seconds when you publish manually — and only the next morning when you publish on a schedule.

Telegram limits people learn about too late

What Limit What happens past it
Text message 4096 characters the message isn’t sent at all
Caption on media 1024 characters a post with an image and long text won’t go out
Album (media group) 2 to 10 files files past the tenth are dropped
Sending rate throttled by the platform temporary send block, publication is delayed

The first two rows cause most of the surprises. Text that sends fine as its own message does not fit into an image caption, because the limits differ fourfold. The post is written, the image is attached, everything looks fine — and nothing goes out.

Practical rule: if the text runs past 1000 characters, either drop the image or send the text as a separate message. Experienced editors keep media captions under 700 characters, which leaves room for edits.

Formatting a post

Telegram supports a limited set of formatting, and that is mostly a good thing: the post looks the same for everyone.

  • bold, italic, underline, strikethrough;
  • monospace text and code blocks;
  • hidden text (spoiler) and blockquote;
  • links, including ones hidden behind a word.

What Telegram has no concept of: headings, lists as an element, tables, alignment. Lists are made by hand with a character and a line break. That is not a limitation of your scheduling service — it is how the platform works.

Link previews. Telegram expands a preview of the first link in the message by itself. Sometimes that is exactly right; sometimes the preview eats half the screen and pulls attention to someone else’s site. Decide deliberately: either the link goes first and the preview works for you, or the preview is turned off.

Album versus a single photo. An album reads as one unit and suits collections. But an album has a single caption — it belongs to the whole group, not to each file.

Telegram is almost indifferent to the files themselves: format and proportions don’t matter to it. Where media rules are strict, the same frame passes in one channel and is rejected in another — see Instagram publishing requirements.

Publication time and time zones

The most annoying scheduling mistake is the right time in the wrong time zone. A post set for “10:00” goes out at 10:00 somewhere, and the question is where.

Three rules that remove the problem:

  1. The time zone belongs to the project, not the browser. If the service takes time from the computer’s settings, an editor travelling shifts the whole grid.
  2. Each client has their own time zone. Run several projects and “Tuesday 10:00” means different moments for different channels — the shared grid lies.
  3. Check daylight saving transitions if your audience lives where they still happen.

Slots and cadence themselves are covered in the content plan; what matters here is only that the time in the plan and the time in the schedule mean the same thing.

Why a post didn’t go out

This table covers nearly every real case, ordered by frequency.

What you see What happened What to do
“Chat not found” the bot was never added, or the channel address has a typo add the bot as administrator and check the channel address
“Bot is not in the chat” the bot was removed or blocked put the bot back in administrators
“No permission to post” the bot is an admin but without the posting right grant “Post messages”
“Message is too long” text past 4096 characters, or a caption past 1024 shorten it, or send the text as a separate message
“Too many requests” the rate limit kicked in wait; a retry usually goes through on its own
The file didn’t attach the media wasn’t reachable at the link the service handed over re-upload the file and publish again

One case deserves its own paragraph: the post went out but the service doesn’t know it. That happens when the connection drops at the exact moment of publishing — the message was sent, the confirmation never came back. The Bot API cannot read channel history, so this cannot be verified automatically after the fact. A correct service therefore does not silently republish; it asks whether the post is already out or should be sent again. Look at the channel before you press “send again”, or you get a duplicate.

What auto-publishing does not solve

A schedule executes a decision; it does not make one. A post queued without approval goes out exactly as reliably as an approved one — and that is the problem.

So auto-publishing belongs at the end of the process, not the start: the material is approved first, then it goes into a slot. How to run approval without slowing the pipeline is covered in the approval policy and checklist.

The second thing a schedule doesn’t do is cancel a publication when the context changes. Keep a rule: before weekends, and on days when something is happening, one person reviews the next 24 hours of the queue. It takes two minutes, and one day it saves a client’s reputation.

A checklist before the first post

  • the bot is an administrator of the channel;
  • the bot has the “Post messages” permission;
  • a test post was published manually and is visible in the channel;
  • the project’s time zone is set and matches the audience;
  • length is checked: up to 4096 characters without media, up to 1024 with;
  • the link preview looks the way you intended;
  • with several channels, every one of them was checked, not just the first;
  • nothing in the next day’s queue has gone stale.

In Sonaco these steps live in one place: the channel is connected through a bot, posts go into a calendar in the workspace’s time zone, and publishing runs on schedule across several channels at once — after the client has approved the material through a link.

Start free trial