Mellow HubPricing

BLOG

Posting to Telegram channels through our own bot, with a single admin right

How we built Telegram publishing on our own bot: one right in the channel, a 13-second connection, eight live posts with no retries, and what failed.

← All updates

The top of Mellow Hub’s public guide “Connect a Telegram channel to Mellow Hub”: four steps, about a minute; Hub posts through its own bot, @MellowHubBot, with a single right to post messages

Key facts

  • A Telegram bot can post to a channel with a single administrator right, Post messages; when our bot was added through Telegram’s channel picker on 11 October 2026, every other right was off except can_manage_chat, which Telegram gives every administrator.
  • On 11 October 2026 a channel was connected to Mellow Hub 13 seconds after its owner pressed Start, and eight posts of different kinds went out through the scheduler with no second try.
  • Telegram’s Bot API has no idempotency key, so Mellow Hub never resends a Telegram post whose request got no answer; it fails as unconfirmed and asks a person to check the channel.
  • A bot can have Telegram fetch a file from a link up to 5 MB for a picture and 20 MB for a video, and can upload up to 10 MB and 50 MB itself; on 21 October 2026 a 59 MB video was refused before anything reached Telegram.
  • Telegram tells a bot nothing about how many people saw a channel post, so a bot-based tool cannot show views for Telegram.

Listen to the key facts1:18AI voice

Mellow Hub, our publishing product, reaches the other networks through a publishing provider or through apps registered with each network. Telegram fitted neither: our provider has no Telegram, and Telegram asks for no app review and has no sign-in screen. What it has is bots. So we built Telegram on a bot of our own, @MellowHubBot, and asked each channel for one right. This is how it works, what we proved on 11 October 2026, and what went wrong.

The situation and the goal

A Telegram channel only lets administrators post. The do-it-yourself way is to create a bot at @BotFather, copy its token into whatever posts for you, and make the bot an administrator. For a customer that is three steps too many, and it puts a credential in their hands.

The goal: a person connects a channel in under a minute, creates nothing, gives the bot only the right to post, and from then on a post written once in Hub, by hand or by an AI agent, goes to Telegram beside the other networks.

Step 2 of the guide, drawn: a phone shows the chat with the Mellow Hub bot, @MellowHubBot, and a Start button at the bottom
Step 2 of our public guide, a drawing of the screen: the link opens a chat with @MellowHubBot and the person presses Start. Captured on 8 November 2026.

What we did, step by step

  1. One bot for everyone. We created @MellowHubBot once. Its token lives in the server’s secret settings, never in the repository or a log, and it cannot be read back from there, by our AI agents or anyone else.
  2. A connection as a short conversation. Telegram has nowhere to send a person and bring them back, so Hub gives a link of the form t.me/MellowHubBot?start=code. The code belongs to one Hub profile and works for 20 minutes.
  3. Start, then one button. The person presses Start. The bot answers in the person’s Telegram language with one message and one button. The button is Telegram’s own request_chat (KeyboardButtonRequestChat in the Bot API): Telegram lists the channels the person administers and adds the bot to the chosen one as an administrator with can_post_messages, nothing else.
  4. Trust nothing the update says. When Telegram reports the chosen chat, the bot asks Telegram itself what the chat is (a channel), whether the bot may post there, and whether the person who pressed the button administers it. Only then does the channel join the profile.
  5. A webhook nobody sets by hand. Telegram signs nothing; it repeats a secret in a header on every update. Our secret is derived from the bot’s token, so there is no second secret to keep, and a request without it gets 404. The code sets the webhook itself on the first connection.
  6. Its own place in the registry. Channels are stored under a provider of their own, telegram. Every query written for the provider’s accounts names that provider, and its reconciliation would have switched a Telegram row under the provider’s name off within two minutes.
  7. Publishing on a minute pass. Words alone become one message; one picture or video carries the words under it; two to ten items become an album; a caption over 1,024 characters goes as the media, then the text as its own message; a GIF goes as an animation. A post can be silent and can turn off the link preview.
  8. Files. Telegram fetches a file from a link up to 5 MB for a picture and 20 MB for a video. Past that, Hub downloads the file and uploads it: up to 10 MB and 50 MB, the most a bot may send through the cloud Bot API. A post scheduled more than six hours out has its files copied to our own storage, because the provider’s upload storage drops unused files within about a day.
  9. Asked once. Telegram has no idempotency key. Before each request the job records that it is sending; any answer clears the mark. A request that got no answer leaves it, and that post is never sent again automatically: it fails as unconfirmed, with “check the channel before posting it again”.
The guide’s table “What a Telegram post can carry”: text up to 4,096 characters, 1,024 under a photo or video, up to 10 items in an album, video MP4 up to 50 MB, photo up to 10 MB, about one message a second in one chat
The limits Hub checks before anything is sent to Telegram, as our guide states them on 8 November 2026; the last line says why there are no views.

Results

Proven live on 11 October 2026, on a private test channel of our founder’s, every post made by an AI agent and posted by the scheduler’s own pass:

WhatResult
Connecting, Telegram for macOSconnected 13 seconds after Start
Rights the bot gotPost messages, plus can_manage_chat that Telegram gives every administrator; every other right off
Words aloneout 36 seconds after it was created
A picture, an album of three, a silent videoeach out as one post
Caption over 1,024 characters with a picturethe picture, then the whole text as a second message
Scheduled, then moved three minutes laterout 17 seconds after the new time
Scheduled, then cancellednever posted
A 27 MB videoout through Hub’s own upload in about two and a half minutes
Retries needednone, across 8 posts

On 13 October our founder disconnected the channel in Hub on his iPhone and connected it again from Telegram for iOS: under two minutes from start to connected, and the next message went out 24 seconds after it was created. Telegram opened to every Hub profile that afternoon, and on 21 October 2026 it became Hub’s tenth public network, with a step-by-step guide in ten languages. On 14 October Telegram posts gained styles (bold, italic, struck, hidden, code, links, quotes), sent as Telegram’s entities rather than a parse mode, so one stray character cannot refuse the whole post.

What did not work, and what we changed

  • The wrong language. A connection started by an AI agent carried no language, and the bot answered a Russian speaker in English. Fixed the same day: the bot answers in Telegram’s own language for the person who opens the link.
  • A file too big, caught late. On 21 October a 59 MB video passed our pre-send check, which did not read file sizes. It failed 10 seconds after it was created with “too large”; nothing reached Telegram. Refusing such a file before sending is the follow-up we noted.
  • Seven quiet minutes. On 3 November at 14:00 UTC Telegram, or the route to it from our server region, took no requests for seven minutes. Four quick errors were retried; then one request timed out after 90 seconds and the post ended as unconfirmed, exactly as designed. Telegram had never fetched the picture, so nothing was posted, and sending it again after a look at the channel was safe.
  • One right is not enough for everything. Our founder later asked for his public channel’s name, description, picture and pinned post to be set through Hub. That needs “Change channel info”, and pinning needs “Edit messages of others”. Connecting still asks only for the right to post; the owner adds the others in Telegram if they want them.
  • No views. Telegram tells a bot nothing about who saw a channel post. Hub says so on the post instead of showing an empty number.
  • Still owed live, as of 21 October: the bot removed from a channel inside Telegram and put back, a post due while it is out, and the channel picker in Telegram for Android and the web. It worked on macOS and iOS.
The guide’s section “What the bot can and cannot do”: it can post, post silently and leave the channel; it cannot edit or delete messages, add members or administrators, change the channel’s name and picture, or read your chats
What one right buys, in our guide’s words on 8 November 2026: posting, but not the channel’s name or picture, which need a right the owner gives in Telegram.

How to do it yourself

  1. Create a bot at @BotFather with /newbot and keep its token in a secret store.
  2. Set a webhook with a secret token, and answer every update 200 once read, so Telegram does not resend what you cannot use.
  3. Start each connection with a deep link carrying a short-lived code, and in the chat send one button with request_chat that asks for a channel and the right to post messages.
  4. When the chat is shared, confirm it with getChat and getChatMember before you store it.
  5. Send with sendMessage, sendPhoto, sendVideo and sendMediaGroup; keep captions to 1,024 characters and texts to 4,096 (every network’s limits side by side), style with entities, and keep to about one message a second in one chat.
  6. Never retry a request that got no answer. Mark it, fail it, and let a person check.
  7. Or connect a channel to Mellow Hub in four steps, with no bot of your own.

Numbers at a glance

WhatFigure
Rights the bot asks for1: Post messages
Connection code lifetime20 minutes
From Start to connected, 11 Oct 202613 seconds
Live posts on 11 Oct 2026, retries8, none
Text limit, caption limit4,096 and 1,024 characters
Files by link / uploaded5 MB and 20 MB / 10 MB and 50 MB
Telegram’s pace in one chatabout one message a second

Questions

What admin rights does a bot need to post in a Telegram channel?

Only one: Post messages. Our bot gets exactly that when the owner picks a channel in Telegram’s own picker; Telegram adds can_manage_chat to every administrator by itself. Changing the channel’s name, description or picture needs Change channel info, and pinning needs Edit messages of others.

Can a Telegram bot see how many views a channel post got?

No. Telegram does not tell a bot how many people saw a channel post, so tools that post through a bot, Mellow Hub included, show no views for Telegram.

What is the largest video a bot can post to a Telegram channel?

Through the cloud Bot API, 50 MB when the bot uploads the file itself, and 20 MB when Telegram fetches it from a link. Pictures are 10 MB uploaded and 5 MB by link.

Why not just retry a Telegram post that timed out?

Because the Bot API has no idempotency key: a request that got no answer may have posted, and a retry would post twice, which cannot be taken back. Check the channel first, then send it again.

Where to go next

More updates

All updates · Published October 11, 2026

Write to Hub's founder

Every message is read by the founder himself, so you are talking to him directly. Questions, bugs, a feature you miss: write about anything. We are glad to keep making Hub better.

What is it about?

We attach this page's address so we can see what you saw.