Главная · 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 0009–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 ₽ за бота в месяц. На Бесплатном раздел закрыт, но сценарий согласия работает и база копится.

Готовый сценарий: Согласие на рассылку Кнопки «Да»/«Нет», тег только на «Да», отписка словом «стоп». Саму рассылку шлёте из кабинета. Открыть →

Использовать сценарий «Согласие на рассылку»