--- name: "cp-bot" description: "Проектирует автоворонку в чат-боте — от точки входа до тега в базе — и пишет готовые тексты для каждого узла пути. Работает универсально: одна и та же схема ложится и на визуальный конструктор, и на самописного бота на Telegram Bot API. Даёт каркас прогрева из пяти касаний с сегментными развилками, технические правила deeplink и триггер-слов, разбор новых возможностей Bot API и обязательный правовой блок по сбору контактов. Прогрев внутри диалога бота — здесь, рассылки по почте и по базе — в cp-email. Use when the user builds a chatbot funnel, an autofunnel, a lead flow in a messenger, or a comment-to-bot trigger. Триггеры — «бот», «чат-бот», «автоворонка», «воронка в боте», «прогрев в боте», «триггер-слово в комментариях», «deeplink», «выдать лид-магнит через бота», «конструктор ботов», «Telegram Bot API»." --- Перед применением прочитай [правила интеграции «Блог с нуля»](../../context/10-blog-runtime.md). Они задают единый запуск, текущий проект и производственные ограничения; не начинай второй независимый бриф. # cp-bot · Автоворонка в боте Бот — это не «ещё один канал», а конвейер: он ловит человека в момент интереса, квалифицирует его и доводит до разговора о продукте, пока интерес не остыл. Всё, что в этой цепочке не описано заранее, ломается в первую неделю. Скилл проектирует **одну ветку** — путь от одного входа к одному действию. Ветка на два входа и три оффера не отлаживается: непонятно, что именно не работает. ## Когда не этот скилл - Нужно посчитать этапы, конверсии и найти, где теряем людей → `cp-funnel`. Сюда — когда путь уже понятен и нужна его реализация в боте. - Нужно придумать и собрать сам материал, который бот выдаёт → `cp-lead-magnet`. - Нужны письма по базе, доставляемость, SPF и DMARC → `cp-email`. Здесь — только те сообщения, что идут внутри диалога с ботом. - Нужна посадочная страница как вход или как продающая → `cp-landing`. Нужны интеграции, вебхуки, сценарии на n8n → `cp-automation`. - Нужен правовой вердикт по конкретному размещению → `cp-compliance`. ## Контекст Читай из `context/`: `09-tech-ru.md` §6 (что из автоматизации доступно в РФ), §7 (Telegram Bot API), §8 (приём платежей); `03-legal-ru.md` §7 (персональные данные) и §1 (что считается рекламой); `07-evidence.md` (как подавать цифры). Профиль бренда — `brands//`: `offer.md` (что продаём и по какой цене), `audience.md` (кому и каким языком), `voice.md` (как говорит бот), `rules.md` (запреты), `assets.md` (каналы, ссылки). Не нашлось — скажи одной строкой и работай по врезке ниже, факты спрашивай, не выдумывай. --- ## Врезка констант **Технические правила, общие для любого конструктора и для самописного бота.** - **Deeplink — только латиницей.** Ссылка вида `t.me/<бот>?start=<параметр>`; параметр по документации Bot API — от 1 до 64 символов из набора `A–Z a–z 0–9 _ -`. Кириллица, пробелы и знаки препинания недопустимы. Параметр — это метка источника: `?start=vk_pin_guide`, `?start=qr_flyer_may`. - **Триггер-слово — одно на материал.** Одно слово, без пробелов, **без буквы Ё** (половина аудитории напишет Е, и совпадение не сработает), без эмодзи и знаков препинания. Сравнение — регистронезависимое, с обрезкой пунктуации по краям. Слово не должно встречаться в обычной речи комментариев, иначе ложные срабатывания. - **Одно слово — один материал.** Два слова на один магнит убивают атрибуцию: непонятно, какой пост принёс подписчика. - **Длина текста кнопки.** Жёсткого лимита в документации нет, но кнопка обязана помещаться в одну строку на узком экране — ориентир 20–25 знаков, глагол плюс объект. Это ремесленная практика, проверяется на реальном устройстве. `callback_data` — не более 64 байт, это уже документированный лимит. - **Лимиты текста.** Обычное сообщение — 4096 символов, подпись к медиа — 1024. Длинный материал не пихается в одно сообщение, а режется на узлы. - **Файл хранится по идентификатору.** Загрузи PDF, аудио или видео один раз, сохрани `file_id` и дальше отправляй по нему. Перезаливка на каждого подписчика — это лишний трафик, задержка выдачи и разные версии файла у разных людей. `file_id` действителен для конкретного бота: сменил бота — перезаливай. - Все лимиты и имена методов **сверяй с актуальной документацией Bot API** на дату сборки: версии выходят часто. **Правовое, обязательный минимум.** Бот, собирающий контакты, — обработка персональных данных: уведомление в РКН **до начала обработки**, опубликованная политика со ссылкой внутри бота, **раздельные** согласия на обработку и на рассылку, база на территории РФ, регламент на утечку с дедлайнами **24 и 72 часа**. Рассылка по собственной базе рекламой не считается — определённый круг лиц. Рекламный креатив внутри бота маркируется по общим правилам. --- ## Вход Одним блоком, коротко. Что есть в профиле — не переспрашивай. 1. Что бот отдаёт на входе: какой материал, в каком формате, сколько весит. 2. Откуда приходят люди: комментарии под роликом, кнопка в посте, ссылка в шапке, QR на офлайн-носителе, реклама. 3. Что считается успехом ветки: заявка, запись на разбор, оплата, ответ в личку. 4. Что продаётся дальше и по какой цене. Есть ли промежуточный шаг между магнитом и продажей. 5. На чём собирается бот: визуальный конструктор или свой код. Где физически лежит база. 6. Кто отвечает на живые сообщения и в какие часы. 7. Правовой статус: уведомление РКН подано, политика опубликована — да или нет. ## Процесс 1. **Зафиксируй один вход и одну цель.** Больше — разводи по отдельным веткам с разными метками источника. 2. **Нарисуй путь по семи узлам** (схема ниже). Каждый узел — одно сообщение и одно ожидаемое действие. 3. **Напиши тексты узлов** по шаблонам. Плейсхолдеры в угловых скобках заполняются из профиля бренда, а не выдумываются. 4. **Разложи прогрев** на 5 касаний за 12 дней с развилками по ответу на квалификации. 5. **Заведи теги и события** — что записывается в базу на каждом узле. 6. **Пройди правовой контур** — блок ниже. 7. **Прогони технический чек и тест вживую** с чужого аккаунта, а не с админского. --- ## Схема пути ``` ВХОД ПРИВЕТСТВИЕ КВАЛИФИКАЦИЯ триггер-слово ┐ ┌ сегмент A кнопка в посте├→ /start ─→ кто ты + что будет ─→ ├ сегмент B deeplink │ (метка + политика и └ сегмент C QR ┘ источника) согласия │ ▼ ТЕГ В БАЗЕ ←─ СЕГМЕНТНЫЙ ←─ ПРОГРЕВ ←─ ВЫДАЧА источник, ПРИЗЫВ 5 касаний материал сегмент, своё для за 12 дней по file_id стадия сегмента + первый шаг ``` Правило узла: **один экран — одно действие**. Два вопроса в одном сообщении дают ответ на один и потерю второго. --- ## Тексты узлов · шаблоны Короткие, без штампов вида «Добро пожаловать в наш бот» и «Мы рады приветствовать вас». Бот говорит голосом бренда — прогони финальные тексты через `cp-voice` и `cp-humanizer`. **1. Точка входа — ответ в комментариях (если бот отвечает публично).** ``` <Имя>, отправил в личные сообщения. Если не пришло — напишите боту @<бот> слово <ТРИГГЕР>. ``` **2. Приветствие — первое сообщение после /start.** Три вещи: кто это, что человек сейчас получит, что от него нужно. Плюс правовой блок. ``` Это <бот бренда>. Сейчас отдам <название материала> — <что в нём, одной строкой>. Перед этим одно: <материал> лежит в <формате>, читается за минут. Чтобы отдать и не потерять вас, мне нужно ваше согласие. [Согласен на обработку данных] [Политика] ``` Кнопка «Политика» открывает ссылку. Согласие на рассылку — **отдельным** шагом, не в этой же кнопке. **3. Квалификация — один вопрос, 2–4 кнопки.** Вопрос про ситуацию человека, а не про его намерение купить. ``` Чтобы не слать лишнего: на каком вы шаге? [<Ситуация A>] [<Ситуация B>] [<Ситуация C>] ``` Плохо: «Насколько вам интересно?», «Готовы ли вы инвестировать в себя». Хорошо: «Уже <делаете X> или только собираетесь?», «Работаете один или есть команда?». **4. Выдача материала.** Файл первым, текст вторым. Ждать чего-то до выдачи — потеря половины дошедших. ``` Держите: <файл> С чего начать: <один конкретный шаг из материала, который делается сегодня>. Через день напишу, что с этим делать дальше — если не нужно, нажмите [Хватит]. ``` Кнопка отписки — с первого же сообщения. Она снижает жалобы и не снижает конверсию. **5. Согласие на рассылку — отдельный шаг.** ``` Дальше — коротких сообщений про <тема>. Первое завтра, дальше реже. Присылать? [Да, присылайте] [Только материал, спасибо] ``` **6. Сегментный призыв — свой для каждого сегмента.** ``` <Отсылка к тому, что человек ответил на квалификации>. Ближайший шаг для вас — <действие>: <что это, сколько занимает, что на выходе>. [<Действие результатом, не «отправить»>] ``` **7. Живой перехват.** Если человек написал текстом вместо кнопки — не отвечать «Не понимаю команду». Передавать оператору и отвечать честно про время ответа. ``` Вижу вопрос, передал человеку. Ответим в рабочее время: <часы>. ``` --- ## Прогрев · 5 касаний за 12 дней Каркас, а не норма. Оптимальная длина и ритм зависят от цикла принятия решения в нише — надёжных публичных данных, применимых ко всем, нет. Схема ниже — рабочая гипотеза, проверяется на своей базе сравнением с собственной историей. **Главное правило: каждое касание даёт пользу до того, как просит.** Полезный блок идёт первым и работает сам по себе, даже если человек не дочитал до призыва. Касание без пользы — расход доверия. | № | День | Задача | Что внутри | Просьба | |---|---|---|---|---| | 0 | 0 | выдача | материал + первый шаг | нет | | 1 | 1 | быстрая победа | одно действие на 10 минут с проверяемым результатом | нет | | 2 | 3 | развилка | разбор типовой ошибки + вопрос про ситуацию, 2–3 кнопки | ответить кнопкой | | 3 | 6 | доказательство | случай с механикой: что было, что сделали, что изменилось | мягкая ссылка | | 4 | 9 | возражение сегмента | снятие главного «но» именно этого сегмента | приглашение | | 5 | 12 | призыв | сегментный оффер, дедлайн или ограничение, если он настоящий | целевое действие | **Развилки после касания 2.** Ветки расходятся по ответу, а не по времени. | Ответ | Что меняется дальше | |---|---| | «Уже делаю, не получается» | касание 3 — разбор ошибки в исполнении, касание 4 — про поддержку и сопровождение, призыв к работе с ведением | | «Только собираюсь» | касание 3 — как выглядит первый месяц, касание 4 — про риск и обратимость, призыв к недорогому первому шагу | | «Смотрю для общего развития» | касания 3–4 в половину объёма, призыв — на подписку на канал, а не на продукт | | Молчание на касании 2 | одно повторное касание другим углом, дальше — реже, в общий поток | **Что останавливает ветку:** человек нажал «Хватит»; сделал целевое действие; ответил живым сообщением с вопросом — тогда его ведёт оператор, а не сценарий. --- ## Что нового в Telegram Bot API и как это использовать По `context/09-tech-ru.md` §7. Версии выходят часто — **перед разработкой сверять по официальному списку изменений**, конкретные имена методов и полей из памяти не брать. | Возможность | Версия и дата | Что это даёт воронке | |---|---|---| | **Потоковые ответы ИИ** и черновики сообщений (`sendMessageDraft`) | 9.3 от 31.12.2025, полноценно в Rich Messages 10.1 от 11.06.2026 | ответ ИИ печатается на глазах, а не выпадает стеной через десять секунд. Для ботов с ИИ-квалификацией это снимает главную претензию к UX — ощущение зависшего диалога | | **Эфемерные сообщения** — видны только конкретному пользователю и боту | 10.2 от 14.07.2026 | персональный ответ прямо в группе или в обсуждении, без спама в общую ленту. Закрывает старую боль «бот засоряет комментарии» | | **Guest Mode** — бот получает сообщения вне чатов, где не состоит | 10.0 от 08.05.2026 | реакция на триггер-слово там, где бота не сделали администратором | | **Rich Messages**, 25+ типов форматирования | 10.1 от 11.06.2026 | структурированная выдача материала внутри диалога вместо ссылки наружу | | **Stars, подписки за Stars** | 9.0 от 11.04.2025 | монетизация внутри Telegram без внешнего эквайринга. Не заменяет кассу и налоговый учёт — доход остаётся доходом | | Stories API, интеграция с бизнес-аккаунтами | 9.0 от 11.04.2025 | вход в воронку из историй и из личной переписки бизнес-аккаунта | Оговорка из контекста: в сторонних обсуждениях фигурирует версия 9.6 от апреля 2026, которой нет в официальном списке изменений. Не подтверждено — источником считать только официальную документацию. --- ## Правовое · обязательный блок Информация на 04.08.2026, не юридическая консультация; применимость определяет юрист. Спорные и меняющиеся места — через `cp-compliance`. **Бот, собирающий контакты, — это обработка персональных данных.** Не «просто переписка»: номер, имя, ID и любые ответы формы — персональные данные, как только они складываются в базу. | Обязанность | Как выглядит в боте | |---|---| | **Уведомление в РКН до начала обработки** (ст. 22 152-ФЗ) | подаётся **до** запуска ветки, а не после первых подписчиков. Задним числом не делается | | **Политика обработки** (ч. 2 ст. 18.1) | опубликована по постоянной ссылке; кнопка «Политика» в приветствии и команда `/privacy` в меню бота | | **Раздельные согласия** (ст. 9) | отдельное действие на обработку и отдельное — на рассылку. Нажатие «Получить материал» согласием на рассылку не является. Аналог преднажатой галочки — предвыбранный вариант или согласие «по умолчанию, если не отказались» — недопустим | | **Локализация базы в РФ** (ч. 5 ст. 18) | запись, хранение и извлечение данных граждан РФ — в базах на территории РФ. Зарубежный конструктор или CRM без первичной российской базы — нарушение | | **Регламент на утечку** (ч. 3.1 ст. 21) | два уведомления в РКН: **24 часа** с момента выявления и **72 часа** — результаты расследования. Продления нет, выходные срок не приостанавливают. Отвечает оператор, даже если инцидент у подрядчика | | Трансграничная передача (ст. 12) | отдельное уведомление до начала передачи | **Реклама.** Рассылка по своей базе рекламой не считается — сообщения адресованы **определённому кругу лиц**. Но: рекламный креатив, размещённый внутри бота (чужой продукт, партнёрская ссылка, оплаченная интеграция), маркируется по общим правилам — слово «реклама», данные рекламодателя с ИНН, erid, полученный до публикации. Самопродвижение собственного продукта в собственном боте — спорная зона, разбор в `cp-compliance`. **Оплата внутри бота.** Приём денег на личную карту — незаконная предпринимательская деятельность. Чеки: самозанятый формирует в приложении, ИП и ООО — касса по 54-ФЗ, агрегаторы обычно закрывают фискализацию, но это проверяется в договоре, а не предполагается. Stars и подписки Telegram от налогового учёта не освобождают. --- ## Выход ``` ВЕТКА: <название> · вход <откуда> · цель <что считаем успехом> СХЕМА <семь узлов с указанием, что записывается в базу на каждом> МЕТКИ deeplink: ?start=<латиница> триггер-слово: <одно слово, без Ё> теги: источник / сегмент / стадия / отказ ТЕКСТЫ УЗЛОВ 1. Точка входа — <текст> ... 7. Живой перехват — <текст> ПРОГРЕВ <таблица: касание, день, польза, развилка, призыв> ТЕХНИЧЕСКОЕ <файлы по file_id, лимиты, что проверить в документации на дату> ПРАВОВОЕ <что уже есть, чего не хватает, что нельзя сделать задним числом> ЧТО ЗАМЕРЯТЬ дошли до /start → дали согласие → получили материал → ответили на квалификации → дожили до касания 5 → сделали целевое действие ``` Метрики ветки сравниваются **с собственной историей аккаунта**, а не с чужими цифрами конверсии из статей. На первых десятках подписчиков разница между вариантами статистически неразличима — так и говори, серию надо накопить. ## Чек-лист запуска ветки - Один вход, одна цель, одно триггер-слово, один deeplink с меткой источника. - Триггер-слово без Ё, без пробелов и эмодзи, не пересекается с обычной лексикой комментариев. - Deeplink латиницей, параметр в пределах документированной длины. - Материал загружен один раз и отдаётся по идентификатору файла. - Тексты кнопок помещаются в строку на узком экране, каждая описывает результат. - Политика доступна из бота, согласия раздельные, ничего не предвыбрано. - Уведомление в РКН подано до запуска, база на территории РФ. - Кнопка отписки есть с первого сообщения, отписка отрабатывает мгновенно. - Живое сообщение не получает ответ «не понимаю команду», а уходит оператору. - Ветка пройдена вживую с чужого аккаунта: от комментария до последнего касания, включая отписку. - Теги пишутся на каждом узле — иначе разбирать нечего. - Версии и лимиты Bot API сверены с документацией на дату сборки. ## Красные линии 1. **Не запускать сбор контактов без уведомления РКН и опубликованной политики.** Это делается до первого подписчика, не после. 2. **Не подмешивать согласие на рассылку к получению материала.** Одно действие — одно согласие. 3. **Не имитировать живого человека.** Бот не пишет «это Аня, менеджер» и не ставит опечатки, чтобы сойти за человека. 4. **Не выдумывать дедлайны и остатки мест.** Ложное ограничение работает один раз и стоит базы. 5. **Не обещать результат** — заявки, доход, охваты. Обещаем продукт и его состав. 6. **Не переносить базу в зарубежный сервис** ради удобства интерфейса. 7. **Не называть конверсии воронки из памяти.** Ни «средних по рынку», ни «обычно доходит N%». 8. **Не отправлять сообщение без пользы.** «Напоминаем о себе» — это не касание, это расход доверия. 9. **Не блокировать отписку** ни лишним шагом, ни вопросом «а точно?».