[{"data":1,"prerenderedAt":348},["ShallowReactive",2],{"blog-post-telegram-broadcast-via-a-bot":3},{"id":4,"title":5,"author":6,"body":8,"date":335,"description":336,"extension":337,"image":338,"meta":339,"navigation":340,"path":341,"seo":342,"sitemap":343,"stem":346,"__hash__":347},"blog_en_posts\u002Fblog\u002Ftelegram-broadcast-via-a-bot.md","Telegram broadcast via a bot: how to reach your customers",{"name":7},"Victor Tuneev",{"type":9,"value":10,"toc":321},"minimark",[11,15,20,23,26,29,33,110,118,122,125,133,136,198,201,205,208,211,214,218,221,224,232,236,244,262,265,270,276,279,284,287,292,295,299],[12,13,14],"p",{},"A channel publishes one post for all subscribers; a bot sends each person a separate message. A bot may message only people who started it or gave it permission. It sends about 30 messages a second at no cost, so a large broadcast takes time. Only bots with a large audience can pay Stars to send faster than that.",[16,17,19],"h2",{"id":18},"who-a-bot-can-send-messages-to","Who a bot can send messages to",[12,21,22],{},"A bot cannot start a conversation. The person has to press Start or write to the bot privately first. A user can also let a bot write by adding it to the attachment menu, by launching its Mini App from a link or by accepting the bot's request.",[12,24,25],{},"Contacts from your website or CRM therefore do not let a bot write to those people first. Broadcasts may go only to users who have given the bot permission to contact them.",[12,27,28],{},"The audience also shrinks over time. Any user can block a bot the way they block anyone else, and some apps put a Stop Bot button in the bot's profile. The bot receives an update when a user blocks or unblocks it in a private chat, so it can take that user off its list.",[16,30,32],{"id":31},"channel-post-or-bot-message-what-each-one-does","Channel post or bot message: what each one does",[34,35,36,51],"table",{},[37,38,39],"thead",{},[40,41,42,45,48],"tr",{},[43,44],"th",{},[43,46,47],{},"Channel post",[43,49,50],{},"Bot message",[52,53,54,66,77,88,99],"tbody",{},[40,55,56,60,63],{},[57,58,59],"td",{},"Who receives it",[57,61,62],{},"Everyone who joined the channel",[57,64,65],{},"Each user who started the bot or allowed it to write, unless they blocked it",[40,67,68,71,74],{},[57,69,70],{},"How it arrives",[57,72,73],{},"One post in the channel; subscribers with notifications on get an alert",[57,75,76],{},"A separate message in each person's chat with the bot",[40,78,79,82,85],{},[57,80,81],{},"How people opt out",[57,83,84],{},"They mute or leave the channel",[57,86,87],{},"They block the bot",[40,89,90,93,96],{},[57,91,92],{},"Who else can see it",[57,94,95],{},"Posts of a public channel can be read on the web and found by search engines",[57,97,98],{},"Only the recipient's private chat with the bot; not published",[40,100,101,104,107],{},[57,102,103],{},"How many messages",[57,105,106],{},"One post for all subscribers",[57,108,109],{},"One message per person, about 30 a second for free",[12,111,112,117],{},[113,114,116],"a",{"href":115},"\u002Fblog\u002Ftelegram-marketing-strategy-how-to-generate-leads","A channel suits news meant for everyone",". A bot suits messages people asked to get from it, such as order updates, booking reminders or offers they signed up for, sent to each person separately.",[16,119,121],{"id":120},"how-fast-a-bot-can-send","How fast a bot can send",[12,123,124],{},"Without paying, a bot can send about 30 messages a second to different users, and no more than one message a second within one chat. Short bursts above the single-chat limit may pass, but then the bot gets 429 errors. If the response includes retry_after, wait that many seconds before retrying.",[12,126,127,128,132],{},"Paid broadcasts raise the limit to 1,000 messages a second. Each message above the free 30 a second costs 0.1 ",[113,129,131],{"href":130},"\u002Fblog\u002Ftelegram-stars","Stars from the bot's balance",". Only messages sent successfully are charged, and the fee is not refunded.",[12,134,135],{},"The figures in the table are our arithmetic. Time is the number of users divided by the rate, and the cost is 0.1 Stars for every message above the free 30 a second. They show the shortest possible time, because the real speed also depends on the bot's server and on the pauses after errors.",[34,137,138,154],{},[37,139,140],{},[40,141,142,145,148,151],{},[43,143,144],{},"Users in the list",[43,146,147],{},"At 30 a second",[43,149,150],{},"At 1,000 a second",[43,152,153],{},"Stars at 1,000 a second",[52,155,156,170,184],{},[40,157,158,161,164,167],{},[57,159,160],{},"10,000",[57,162,163],{},"About 6 minutes",[57,165,166],{},"10 seconds",[57,168,169],{},"970",[40,171,172,175,178,181],{},[57,173,174],{},"100,000",[57,176,177],{},"About 56 minutes",[57,179,180],{},"100 seconds",[57,182,183],{},"9,700",[40,185,186,189,192,195],{},[57,187,188],{},"1,000,000",[57,190,191],{},"About 9 hours",[57,193,194],{},"About 17 minutes",[57,196,197],{},"97,000",[12,199,200],{},"For very large lists, Telegram suggests spreading notifications over 8 to 12 hours instead. At 30 messages a second, that window holds roughly 0.9 to 1.3 million messages.",[16,202,204],{"id":203},"who-can-switch-on-paid-broadcasts","Who can switch on paid broadcasts",[12,206,207],{},"Paid broadcasts are switched on in @BotFather, and the bot then asks for them in every send by setting allow_paid_broadcast to True. A send without it stays within the free limit.",[12,209,210],{},"The mode requires a large Stars balance and a large monthly active audience, as counted by Telegram. Check whether your bot qualifies in @BotFather before you plan a send around it.",[12,212,213],{},"The audience requirement, more than the price, decides who can use the mode. A smaller bot cannot switch it on, and it loses little without it: at a steady 30 messages a second, sending 50,000 messages takes about 28 minutes before delays.",[16,215,217],{"id":216},"what-the-rules-allow-in-a-broadcast","What the rules allow in a broadcast",[12,219,220],{},"A higher limit does not widen the circle of people a bot may write to. A bot must not harass or spam users with unsolicited messages, and it must not try to get around Telegram's rate limits. Paid broadcasts in particular must be used in good faith and for legitimate business purposes.",[12,222,223],{},"Users must also be told about significant changes in what a bot does and be given a way to opt out of them. A new kind of broadcast, such as promotions in a bot that used to send only order updates, can be such a change.",[12,225,226,227,231],{},"For breaking these rules Telegram can ban the bot, temporarily or for good, and the owner's Telegram account with it. Telegram leaves compliance with local laws to the developer, so check your country's rules on marketing messages as well. To grow the list within these rules, ",[113,228,230],{"href":229},"\u002Fblog\u002Ftelegram-bot-advertising-ads-in-bots-and-promoting-your-bot","Telegram Ads can bring people who choose to start the bot",".",[16,233,235],{"id":234},"how-to-grow-the-bots-audience-with-ads-in-adstat","How to grow the bot's audience with ads in Adstat",[12,237,238,239,243],{},"An ad can lead straight to a bot, and its link can carry ",[113,240,242],{"href":241},"\u002Fblog\u002Fpromoting-a-telegram-bot","start parameters for the bot",". For each ad, Telegram reports bot starts after an ad view.",[12,245,246,247,256,257,261],{},"In ",[113,248,255],{"href":249,"rel":250,"target":254},"https:\u002F\u002Fadstat.pro\u002F",[251,252,253],"nofollow","noopener","noreferrer","_blank","Adstat",", which works inside an agency or reseller ad account, the promoted object of an ad can be a bot. In the accounts we run, the action for a bot ad is a bot start, so ",[113,258,260],{"href":259},"\u002Fblog\u002Ftelegram-analytics-guide-tools-integration","the report shows what a start cost, broken down by ad",". The report downloads in Excel or CSV, so it can be set beside the bot's own records.",[12,263,264],{},"The broadcast itself is sent and measured in the bot's own system, outside the ad report.",[266,267,269],"h3",{"id":268},"questions-and-answers","Questions and answers",[12,271,272],{},[273,274,275],"strong",{},"Is a message to a user who blocked the bot charged?",[12,277,278],{},"No. In paid broadcasts only messages sent successfully are charged, and a message to someone who blocked the bot does not go through. Telegram does not say whether such failed sends count toward the 30 a second, so take blocked users off the list as soon as the bot learns about the block.",[12,280,281],{},[273,282,283],{},"Why do we get 429 errors below 30 messages a second?",[12,285,286],{},"Check how often the bot writes into one chat. The limit there is about one message a second, and bursts above it lead to 429 errors even when the total rate is low.",[12,288,289],{},[273,290,291],{},"How often can a bot message its users?",[12,293,294],{},"Telegram does not name a number, but it forbids unsolicited messages, so send only what users expect from the bot. For the bots we advertise, we recommend no more than one notification a day.",[16,296,298],{"id":297},"what-to-do-first","What to do first",[300,301,302,306,309,312,315,318],"ol",{},[303,304,305],"li",{},"Count only the users who started the bot or allowed it to write and have not blocked it, and take everyone the bot knows has blocked it off the list.",[303,307,308],{},"Divide the number of users by 30 to get the shortest send time in seconds at the free limit. If that time suits you, you do not need paid broadcasts.",[303,310,311],{},"After a 429 error, wait the seconds given in retry_after if the response has it, then continue from where the send stopped.",[303,313,314],{},"Send each person only messages they expect from the bot. Before you add a new kind of message, tell users about it and give them a way to opt out.",[303,316,317],{},"Put news for everyone in the channel and keep the bot for messages people asked to get from it.",[303,319,320],{},"When you advertise the bot, compare ads by the cost of a start and keep your own record of which users came from which ad.",{"title":322,"searchDepth":323,"depth":323,"links":324},"",2,[325,326,327,328,329,330,334],{"id":18,"depth":323,"text":19},{"id":31,"depth":323,"text":32},{"id":120,"depth":323,"text":121},{"id":203,"depth":323,"text":204},{"id":216,"depth":323,"text":217},{"id":234,"depth":323,"text":235,"children":331},[332],{"id":268,"depth":333,"text":269},3,{"id":297,"depth":323,"text":298},"2026-11-09","Who a Telegram bot may message, how long a broadcast to thousands of users takes, what paid broadcasts cost in Stars and when a channel post fits better.","md","\u002Fimg\u002Fblog\u002Ftelegram-broadcast-via-a-bot.jpg",{},{"title":5,"description":336},"\u002Fblog\u002Ftelegram-broadcast-via-a-bot",{"title":5,"description":336},{"loc":341,"videos":344,"images":345},[],[],"blog\u002Ftelegram-broadcast-via-a-bot","JuGPmVBG1kUynVTQpwc-ZLeTDNbOYU9v8e54iwQcrTA",1794217342976]