How a broadcast works
Telegram has no "send to everyone" button for bots. A broadcast is the bot sending the same message to each user, one private chat at a time. Your bot keeps the list of users who have started it, and the broadcast goes down that list.
Three rules shape everything about broadcasts:
- A bot can only message people who started it or wrote to it. You can't import a contact list or message members of a group who never opened the bot.
- A bot can't message users who blocked it. Telegram rejects those messages.
- There's a speed limit, so large broadcasts take time.
This is very different from a channel. A channel post appears in the channel, and subscribers read it when they open it. A broadcast lands in each user's private chat with the bot, like a message from a friend. That's why it gets noticed, and why a bad one annoys people so much. If you're deciding between the two, see bot vs channel vs group.
How long a broadcast takes
Telegram limits bots to about 30 messages per second across all chats. A broadcast that goes faster gets refused for a while, so well-built bots pace themselves. Here's what 30 per second means in practice:
| Users | Approximate time |
|---|---|
| 1,000 | About 35 seconds |
| 10,000 | About 6 minutes |
| 50,000 | About 28 minutes |
| 100,000 | About an hour |
| 500,000 | About 4 to 5 hours |
So if you send a broadcast to a large bot and the last users get it an hour later, nothing is broken. Plan for it: don't announce a giveaway that ends in 30 minutes to 200,000 people, because many of them won't see it in time.
Paid broadcasts
Very large bots can turn on paid broadcasts in @BotFather, which raises the limit to 1,000 messages per second. Each message above the free 30 per second costs 0.1 Telegram Stars. It's only available to bots with at least 100,000 monthly active users and a balance of at least 100,000 Stars, so most bot owners will never need it. The other numbers are in Telegram bot limits.
Blocked users and why your reach shrinks
Every bot has users who blocked it or deleted their account. Messages to them fail. This means your total user count and the number of people a broadcast actually reaches are two different numbers, and the gap grows over time.
A few things to understand about blocking:
- It's one tap. When an unwanted message arrives, blocking the bot is often easier for the user than muting it.
- It's usually permanent. The bot can't message that person again unless they unblock it or start it again on their own, and few do.
- Unwanted messages are the usual trigger. People have little reason to block a bot they're actively using. They're far more likely to block it when it messages them out of nowhere with something they don't care about.
So treat every broadcast as having a cost. A message that brings back a few hundred users but makes a few hundred others block the bot may leave you worse off, because the returning users might drift away again while the blocked ones are gone for good.
The best way to judge a broadcast is to watch your active users in the days after. If they rise, the message was welcome. If they stay flat, ask whether it was worth sending.
How often to send
There's no number that suits every bot, and anyone who gives you an exact one is guessing. A better rule: send when you have something the user would be glad to hear, and not just because time has passed.
Some guidelines that hold up well:
- Tools used now and then (converters, downloaders): rarely. Only for real changes, like a new feature or a fix for something that was broken.
- Bots tied to events or content (giveaways, daily quizzes): more often is fine, as long as users signed up for exactly that.
- Business bots: when there's real news for customers, like new opening hours or a new product, not a weekly "Don't forget about us!"
If you want to send regularly, say so up front. A bot whose welcome message says "I'll send you one quiz every morning" can do exactly that without surprising anyone. A bot that never mentioned updates and starts sending them daily will get blocked.
Timing matters too. A message that arrives at 3 a.m. in the user's time zone feels like an intrusion. If most of your users are in one region, send in their daytime.
What to send, with good and bad examples
A good broadcast is short, about one thing, and useful to the person receiving it. Some examples:
Good
New: you can now download YouTube videos as audio
files. Send any YouTube link and tap "Audio file".
One change, explained in one line, with exactly what to do. Users who never wanted audio lose two seconds.
The giveaway closes Sunday at 20:00. You're already
entered if you joined. Winners get a message here.
Useful to people who joined, and it answers the question they'd otherwise ask.
Bad
๐ฅ๐ฅ HUGE NEWS!!! ๐ฅ๐ฅ Don't miss out!!! Join our
channel NOW and invite 5 friends to get VIP access!!!
๐๐๐
No real information, all pressure, and a request for the user to do work for you. This is the kind of message people block bots over.
Hi! It's been a while. We miss you! Come back and
use the bot :)
It gives no reason to come back. If you want to bring inactive users back, tell them what changed since they left.
Other things to avoid: ads for unrelated products, several messages in a row, and long texts that need scrolling. If you have three updates, either send the most important one or put all three in one short list.
Before you press send
- Send it to yourself first. Check how it looks on a phone, that links open and that buttons work.
- Read it as a user who hasn't opened the bot in a month. Would you be glad you got it?
- Give it one clear action, like a button or an instruction. Not three.
- Check the time in your users' main time zone.
- Allow for the speed limit if the message is time-sensitive.
- Note your active users before sending, so you can compare a few days later.
Broadcasting from Echo Maker's admin panel
If your bot runs on Echo Maker, send /start to your own bot and use the broadcast option in the admin panel to message all users. Sending is paced to stay within Telegram's limit, and the statistics in the same panel show new and active users by day, so you can see how people responded.
Fewer, better broadcasts also make every other message count. Users who've learned your bot only writes when it matters will actually read the next one. For getting new users in the first place, see how to get your first 1,000 users, and for the first message they see, how to write a /start message people read.
Common questions
Can a Telegram bot message all its users at once?
It sends to each user one by one, at about 30 messages per second, so 10,000 users take about six minutes. It can only reach people who started the bot and haven't blocked it.
Can I message users who blocked my bot?
No. Telegram rejects messages to users who blocked the bot. They have to unblock it or start it again themselves.
How often should a bot send broadcasts?
Only when you have something users would be glad to get. Bots that told users to expect regular messages, like a daily quiz, can send more often.
What are paid broadcasts?
An option in @BotFather for very large bots that raises the limit to 1,000 messages per second, at 0.1 Stars per message above 30 per second. It needs at least 100,000 monthly active users and 100,000 Stars.