Mechanics · 12.08.2026
DM blasts are a myth: what Telegram actually allows
Every few weeks someone sells 'message all your subscribers' for Telegram. It doesn't exist, and it's worth understanding why.
Telegram's Bot API simply never gives a bot the list of a channel's subscribers. There is nothing to iterate over. Attempting to DM a user who never started a conversation with your bot returns a Forbidden error. That's not a limitation of a particular tool — it's the platform's design.
What does work is two different mechanics, and healthy channels use both.
The first is the channel post. A bot added as an admin with Post Messages can publish to the channel, and every subscriber sees it like any other post. This is your broadcast: one API call, full reach, no throttling drama. It's why Antenna's core action — scheduled channel posts — is free.
The second is the opt-in DM list. People who press Start on your bot have, by definition, opened a conversation with it. Now the bot can message them. This list is smaller, fresher and far more intentional than a subscriber count. It's the closest thing to a 'message everyone' that exists — and it only contains people who asked.
Treat the two differently. Channel posts are broadcast: announcements, content, the public rhythm. DM sends are concierge: order updates, personal reminders, high-intent nudges. Price them differently too — DMs cost real throttling effort, which is why Antenna charges per delivered recipient and never per attempt.
The trap to avoid is blurring the labels. A subscriber who never pressed Start must never expect DMs; a Start-presser must always be able to leave with one command. Keep the audiences separate and both stay healthy.