Главная · Telegram · Рассылка через бота Telegram
Рассылка через бота Telegram
Рассылка через Telegram-бота — это сообщения тем, кто сам нажал /start у вашего бота. Никаких «баз номеров» и «рассылок по чатам»: Bot API так не работает, а всё, что работает иначе, заканчивается блокировкой. В ЧБТ рассылка живёт в отдельном разделе «Рассылки»: текст с переменными, сегмент по тегам, отложенный запуск, очередь с троттлингом под лимиты Telegram и статистика доставки. Сценарий при этом делает другое — собирает согласие и ставит теги.
Кому бот может писать
Telegram разрешает боту отправлять сообщения только пользователям, которые начали с ним диалог — нажали /start, перешли по диплинку или написали первыми. Это техническое ограничение Bot API, обойти его нельзя. Отсюда три правила рассылки в ЧБТ:
- База — это контакты бота. В разделе «Контакты» каждый, кто писал боту, уже есть: имя из Telegram, дата, теги, история диалогов. Загрузить чужой список нельзя, и это правильно.
- Согласие фиксируйте тегом. Шаблон «Согласие на рассылку» спрашивает «Присылать новости?», по «да» ставит тег «рассылка», по стоп-слову («стоп», «отписаться») — снимает. Рассылку запускаете только по этому тегу.
- Заблокировавшие бота не получат ничего. Telegram вернёт ошибку, ЧБТ засчитает её в «Ошибки». Пробовать «достучаться» бессмысленно — человек ушёл.
Если нужна рассылка тем, кто оставил телефон на сайте, но в бота не заходил, — сначала приведите их в бота: ссылка в SMS или письме с диплинком https://t.me/ваш_бот?start=promo. Почему бот не пишет первым и что означает ошибка PEER_ID_INVALID — разбор.
Лимиты Telegram Bot API и очередь ЧБТ
Telegram ограничивает бота примерно 30 сообщениями в секунду суммарно и не чаще одного сообщения в секунду одному пользователю; при превышении приходит ошибка 429 с указанием, сколько ждать. Отправить 5 000 сообщений «залпом» нельзя — часть не дойдёт.
ЧБТ решает это очередью: рассылка уходит фоновому воркеру, который отправляет сообщения последовательно с паузой 50 мс между ними — около 20 сообщений в секунду, с запасом до лимита. Ориентиры по времени:
| Получателей | Время отправки |
|---|---|
| 500 | около 30 секунд |
| 2 000 | около 2 минут |
| 10 000 | 9–10 минут |
Пока рассылка идёт, в таблице раздела виден статус «Отправляется» и кнопка «Стоп» — остановка срабатывает на следующем сообщении, уже отправленное не отзывается. Отправка последовательная, поэтому две рассылки подряд запускать одновременно не стоит: вторая встанет в очередь за первой.
Персонализация: {{name}} и другие переменные
В тексте рассылки работают три подстановки: {{name}}, {{phone}}, {{email}} — из карточки контакта. Имя при первом обращении берётся из профиля Telegram (имя и фамилия), а блок «Сбор данных» с типом «Имя» перезаписывает его тем, что написал клиент.
Две практические детали:
- Если поле пустое, подставится пустая строка. «Здравствуйте, {{name}}!» у контакта без имени превратится в «Здравствуйте, !». Ставьте имя туда, где его отсутствие не заметно, — или соберите имена сценарием до первой рассылки.
- Своих переменных вроде
{{var}}в рассылках нет — они работают только внутри сценария. Для «персональных» рассылок по сегментам используйте теги: одна рассылка — один сегмент — свой текст.
Сегмент по тегам
Поле «Теги через запятую (пусто = все)» — единственный фильтр аудитории, и его достаточно. Контакт попадает в рассылку, если у него есть хотя бы один из перечисленных тегов. Откуда берутся теги:
- из сценария — действие «Добавить тег» после нажатия кнопки, ответа «да», заполнения телефона: кнопка «Стрижка» → тег «стрижка», диплинк из рекламы → тег «реклама-сентябрь»;
- вручную — в карточке контакта в разделе «Контакты»;
- по каналу — блок «Условие» по каналу в начале сценария ставит тег «tg», «max» или «vk».
Последнее важно: рассылка из раздела «Рассылки» уходит по контактам всех подключённых каналов проекта, у которых есть тег. Если текст рассчитан только на Telegram, перечисление «рассылка, tg» не поможет — это «или», а не «и». Заведите отдельный тег «рассылка-tg» в той же ветке сценария, где стоит согласие. Как построить систему тегов, чтобы через год в ней можно было разобраться, — теги как система сегментации.
Отложенный запуск
Поле «Отложенный запуск» принимает дату и время. Рассылка получает статус «Запланирована», планировщик проверяет очередь раз в минуту и запускает её в назначенный момент — точность до минуты. Пока рассылка ждёт, её можно остановить той же кнопкой «Стоп».
Когда отправлять: в рабочее время получателей и не ночью — уведомление разбудит человека, и первым его действием будет блокировка бота. Если аудитория в нескольких часовых поясах, разделите её тегами по региону и запланируйте две-три рассылки.
Кто не получит и что покажет статистика
После завершения в таблице раздела — два числа: «Доставлено» и «Ошибки». Ошибка — это отказ Telegram принять сообщение для конкретного пользователя:
- человек заблокировал бота — самая частая причина, у базы старше года это часто 10–20 %;
- аккаунт удалён или деактивирован;
- пользователь ни разу не писал боту, но попал в контакты иным путём — например, через «Импорт CSV» в «Контактах».
Открываемость и клики Telegram боту не сообщает — метрики «прочитал» у рассылки нет. Реальный отклик измеряйте ответами: через час после рассылки откройте «Диалоги» с фильтром «непрочитанные» и посмотрите, сколько человек ответили или нажали кнопки меню. Для рассылки с оффером сделайте отдельную точку входа — кодовое слово («ХОЧУ») или диплинк — и считайте по тегу, который ставит сценарий.
Если «Ошибки» выше 20 %, база остыла: снимите с недоставленных контактов тег «рассылка», чтобы не тратить время очереди, и подумайте о реактивации тех, кто ещё не заблокировал, — сценарий реактивации.
Чего в рассылках ЧБТ нет
- Картинок, файлов и кнопок — только текст. Ссылку вставляйте в текст; Telegram сам покажет превью.
- Триггерных цепочек в разделе «Рассылки». Серия «через день — через три дня» собирается в сценарии блоками «Пауза» и «Условие» — триггерные цепочки в боте.
- A/B-теста текста рассылки. Разделите аудиторию тегами и отправьте две рассылки. Внутри сценария A/B есть — действие «Случайная ветка».
- Рассылок на Бесплатном тарифе. Раздел доступен с Базового — 650 ₽ за бота в месяц; сценарий согласия можно собрать и на Free, чтобы база копилась до оплаты.
Telegram — один из каналов рассылки; тот же раздел отправляет в MAX и ВКонтакте, правила у каждого свои — см. рассылка ботом MAX. Подключение канала — на странице бот Telegram, тарифы — на странице цен.
Собрать сценарий согласия бесплатно — первую рассылку запустите на Базовом, когда база наберётся.
Частые вопросы
Можно ли сделать рассылку по базе номеров?
Нет. Бот пишет только тем, кто начал с ним диалог. Приведите людей в бота ссылкой-диплинком, а дальше рассылайте по тегу согласия.
С какой скоростью уходит рассылка?
Около 20 сообщений в секунду: очередь ЧБТ делает паузу 50 мс между отправками, чтобы не упираться в лимит Telegram около 30 сообщений в секунду. 10 000 получателей — примерно 9–10 минут.
Почему у части контактов «Ошибки»?
Чаще всего человек заблокировал бота или удалил аккаунт. Telegram отказывает в доставке, ЧБТ фиксирует ошибку. Таким контактам снимите тег рассылки.
Можно ли прикрепить картинку или кнопку?
Пока нет — в рассылках только текст с переменными {{name}}, {{phone}}, {{email}}. Ссылку вставляйте в текст.
Как клиенту отписаться?
Стоп-словом из шаблона «Согласие на рассылку»: слово «стоп» снимает тег «рассылка». Напишите об этом в первой же рассылке — так меньше блокировок.
На каком тарифе доступны рассылки?
С Базового — 650 ₽ за бота в месяц. На Бесплатном раздел закрыт, но сценарий согласия работает и база копится.
Использовать сценарий «Согласие на рассылку»
Шаблон согласияКанал TelegramПодключениеРассылка в MAXТеги и сегментыТарифы