Telegram: парсинг и импорт базы в бота с согласиями и метками — правила и советы
Я однажды поймал себя на том, что снова тащу список контактов из Excel в Google Sheets, потом в CRM, потом обратно, как белка с орехами по кругу. Телеграм у клиента растет, заявки капают, а база гуляет по папкам как чемодан без ручки. И вот этот момент, когда начинаешь судорожно сеткой закрывать окно браузера, обычно и становится отправной точкой нормальной автоматизации. Если вы узнали себя — вы на правильной странице. Покажу, как аккуратно и законно собирать базу из Telegram, получать согласия, присваивать метки и не сжечь бесплатный тариф Make.com за один вечер рассылки.
Контекст простой. Мы говорим про бота, созданного через @BotFather, с нормальным API-токеном, подключенного к Make.com и дружащего с Google Sheets, Bitrix24 или amoCRM. Все, что касается парсинга чатов и каналов, законно только там, где у вас есть права администратора и явное согласие пользователей. Никаких серых изысканий в чужих сообществах, никаких скрытых сборов. Российский 152-ФЗ это не шутка, а Telegram любит банить ботов за лишнюю самодеятельность. Если коротко — собираем базу там, где вы хозяин, и сохраняем по каждому пользователю факт согласия и отписки.

Из чего состоит рабочая схема и зачем она вам
Рабочая схема похожа на конструктор. Создаем бота у BotFather, добавляем описание и меню, подключаем его к Make.com, настраиваем модуль Watch Updates, чтобы ловить /start, нажатия на кнопки и ответы. Каждый новый контакт записывается в базу — чаще всего это Google Sheets или CRM. В момент записи сохраняем пример текста согласия, дату и время, user_id и username, источник входа и метки. Метки — это наш золотой ключик: откуда пришел человек, что нажал, какой продукт смотрел, где соглашается на рассылку. Дальше можно спокойно строить сегменты, догонять ленивых и вообще действовать как взрослый.
Почему без Make.com все печально? Потому что вручную вы быстро упретесь в предел скорости отправки, в хаос копий таблиц, в дубликаты. Make как хороший диспетчер: ограничивает события фильтрами, нормализует данные, аккуратно дает дедупликацию и держит лог, где видно, кто где сломался. И да, он экономит операции, если собирать сценарий головой, а не сердцем. Например, ставим фильтр сразу на первом модуле, чтобы сценарий срабатывал только на Callback Query от кнопки согласия, а не на каждое чихание в чате.
Парсинг в Telegram — что можно, а что не надо
Коротко и по делу. Бот видит личные сообщения с ним, а в группах и каналах видит сообщения только там, где вы дали ему права и отключили ограничение приватности. Это та самая галка privacy mode у бота, которую многие забывают выключить, а потом удивляются, почему модуль в Make ловит пустоту. С чужих каналов без админки сообщения собирать нельзя. Технически можно городить клиентскую библиотеку, но юридически и по правилам Telegram — мимо. Поэтому если план был зайти и выгрузить подписчиков конкурента — лучше чай, плед и мысль о своем канале, чем бан и выговор от совести.
Зато можно растить базу честно. Делаете пост в своем канале с кнопкой Перейти в бота, добавляете deep link с параметром /start_source_webinar или /start_source_vkr. По нажатию бот отправляет компактный текст согласия и две кнопки Согласен и Не хочу. На Согласен записываете факт в базу с меткой source=webinar и consent=true, на Не хочу — мягко благодарите и не трогаете больше человека. Все это собирается в сценарии из 5-7 модулей, который можно потом копировать под разные воронки.
Импорт старой базы — безопасно и без крови
Старые эксельки с контактами из прошлого лучше не тянуть к ботам напрямую. Телеграм не любит массовую отправку первым сообщением тем, кто вам ничего не писал. Лайтовый и законный путь такой: загружаете базу в CRM или таблицу, создаете легкий лендинг с текстом политики и чекбоксом, отправляете в канал пост со ссылкой и оффером, а тем, кто явно оставил согласие, даете стартовую кнопку бота с deep link. Альтернатива — пригласить людей в закрытый чат и уже внутри попросить согласие кнопкой, но только если люди сами вступили и им ок. В Make это делается через связку HTTP Webhook, форма на сайте и Telegram SendMessage с inline клавиатурой. Да, клик сложнее, чем массовая рассылка без спроса, но жить потом спокойнее.
Как сохранять согласия и метки так, чтобы спать ночью
Записывайте минимум четыре вещи: user_id, username, дата и время согласия, текст согласия или хотя бы хэш этой фразы вместе с версией. Плюс источник — deep link или кнопка в чате, плюс метки про продукт или интерес. В Google Sheets удобно иметь столбцы consent_text, consent_at, source, tags и last_message_status. В Make используйте модуль Data Store для дедупликации: проверяем, есть ли такой user_id, если нет — создаем запись, если есть — апдейтим теги и статус. Отдельная мелочь — сохраняйте последнюю ошибку отправки в last_error. Если Telegram возвращает 403, значит человек вас заблокировал, не нужно долбиться каждую неделю, просто переносим его в сегмент unsubscribed.
Еще одна полезная штука — версия политики. Сегодня у вас короткий текст на 3 строки, завтра юрист попросит добавить 2 пункта. Создайте переменную policy_version и записывайте ее в каждое согласие. Потом будет легко отделить старые согласия от новых и корректно предложить людям обновить согласие одной аккуратной кнопкой. Банально, но спасает в моменты проверок и при миграциях.

Сценарий в Make — из чего состоит и где тонко
Обычно я начинаю с Watch Updates, ставлю фильтр только на callback_query и команду /start. Следом идет роутер: одна ветка для /start с deep link, вторая для согласия, третья для отписки. Ветка /start делает Get Chat Member, проверяет, не бот ли перед нами, готовит приветствие и отправляет две кнопки. Ветка согласия парсит данные на пользователя, пишет их в Google Sheets или CRM, добавляет теги через модуль Update a row или Create/Update contact в amoCRM, а потом проверяет лимит отправки, чтобы не улететь в спам. Ветка отписки меняет статус и больше не трогает человека. Важная мелочь — давайте модулям осмысленные имена, иначе через месяц вы забудете, где именно у вас из строки 48 выпало два символа. И обязательно ставьте задержку в 1-2 секунды на массовые отправки в один чат, Телеграм хоть терпелив, но не святой.
Если хотите умнее — добавьте слой анализа сообщений. Короткий классификатор на OpenAI или другой AI-сервис поможет автоматически раскладывать входящие по темам и вешать метки product_a, product_b, urgent. В Make это решается парой модулей: вы отправляете текст, получаете метку и кладете ее рядом с пользователем. Для России удобно прокидывать дальше в Bitrix24, создавая лид с нужным статусом и источником Telegram. Вроде мелочь, а менеджеры сразу видят, кого брать первым, а кого мягко догонять автосообщениями.
Где брать данные для базы и не нарушать ничего лишнего
Три честных точки входа самые рабочие. Первое — посты в канале и репосты в другие ваши площадки, где кнопка ведет в бота с параметром источника. Второе — закреп в чате поддержки, где бот на правах админа ловит нажатие кнопки и пишет consent=true. Третье — сайт с формой, где человек оставляет Telegram username и жмет чекбокс, после чего бот отправляет ему стартовое сообщение для финального согласия. Из контакта без согласия не делаем рассылок, не дергаем с предложениями, вообще не трогаем. Храните все в таблице или CRM с прозрачной логикой удаления по запросу. Да, кто-то попросит удалиться и в субботу в 23:40, и это нормально, жизнь вообще любит свое расписание.
Оптимизация и экономия на тарифе Make
Самый простой способ не сжечь лимит операций — фильтровать на входе все, что не нужно. Не нужно читать каждое сообщение из группы — ловите только нажатия кнопок бота. Не тяните лишние поля в CRM — храните базовую карточку и динамические теги. Тестируйте модули по одному, чтобы не гонять по 10 раз одну и ту же цепочку. Используйте агрегации: если вы планируете выслать 200 сообщений в канал, пакуйте их и отправляйте с разумной задержкой, а не по одному миллисекундно. И да, обязательно логируйте статистику по конверсиям: сколько нажали /start, сколько дали согласие, сколько отписались. Когда эти три числа у вас перед глазами, очень легче принимать нормальные решения.

Ошибки, из-за которых сценарии падают и настроение тоже
Первая классика — забытый privacy mode. Вторая — попытка отправить медиа без file_id и без хостинга. Сначала загрузите файл вручную, заберите file_id, потом вставляйте в Send Photo. Третья — дубликаты людей без дедупликации по user_id, потом вы удивляетесь, почему у вас Иван Петров в таблице десять раз и каждый с разными тегами. Четвертая — попытка разослать сообщения старой базе без явного согласия, система отвечает 403 и режет крылья. Пятая — нескладные клавиатуры, где callback_data не помещается и обрезается, а вы ищете проблему в модуле, а не в длине. И еще момент — русский текст в параметрах deep link лучше кодировать, иначе потом получите кривую кашу в источнике.
Немного о трендах и зачем сюда AI
Сейчас хорошая связка выглядит так: бот собирает согласия и метки, AI-слой сортирует обращения и подсказывает быстрые ответы, а CRM тянет сделки в работу по нужным этапам. На Make.com это собирается без программиста: 1000+ интеграций, из Telegram в Google Sheets, потом в amoCRM или Bitrix24, плюс вебхуки на ваш сайт, плюс проверка оплат в ЮKassa или CloudPayments. Время от подачи идеи до боевой схемы часто укладывается в вечер, это если не спорить с собой про цвета кнопок. А еще здорово использовать авторазметку тем сообщений, чтобы новички в отделе не тонули в стене текста и не пропускали срочные запросы на оплату.
Где научиться и как не наступать на грабли в одиночку
Если хочется за руки и без боли, у нас есть спокойный разбор на реальных кейсах и рабочие заготовки. Хотите научиться автоматизации рабочих процессов с помощью сервиса make.com и нейросетей ? Подпишитесь на наш Telegram-канал, там заметки, разборы и иногда самоирония до хруста. Для системного погружения есть формат Обучение по make.com, где собираем ваши сценарии в прод. А если время горит, берите рабочие схемы и настраивайте под себя — Блюпринты по make.com. Я, Артур Хорошев, люблю, когда техника не мешает людям делать дела, так что все построено без лишней магии и загадок.
Мини-гид по настройке на одном дыхании
Последняя часть для тех, кто уже открыл Make и терпит. Создаете бота в BotFather, получаете токен, в настройках бота снимаете privacy mode, добавляете админом в чат или канал. В Make.com создаете сцену, подключаете Telegram Bot, ловите Watch Updates, ставите фильтр на нужные типы событий. Отправляете приветствие с кнопками согласия и отказа, на согласие пишете строку в таблицу или контакт в CRM, добавляете метки из deep link. Делаете отдельную ветку Unsubscribe и храните факт отказа, не шлите тем, кто отказался. Добавляете AI-классификацию при необходимости, настраиваете задержки и лимиты, тестируете ветки по одной, не все сразу, чтобы не устроить фейерверк. И все, можно жить и работать, а не вылавливать контакты из комментариев вручную ночью.
FAQ
Можно ли парсить посты из чужих каналов для своей базы
Нет. Без прав администратора и явной договоренности с владельцем канала это запрещено правилами Telegram и рискует закончиться баном. Работайте только там, где у вас есть права и согласие аудитории.
Как правильно фиксировать согласие пользователя
Лучший вариант — кнопка в боте с коротким текстом политики и понятным действием. Записывайте user_id, время, версию политики, источник и результат. При изменении текста политики повышайте версию и просите обновить согласие.
Можно ли импортировать старую базу и сразу сделать рассылку
Без явного согласия — нельзя. Корректный путь — предложить людям подтвердить подписку через бота или форму с чекбоксом, потом уже отсылать рассылки по тем, кто согласился.
Что делать с ошибкой 403 при отправке сообщений
Пользователь ограничил или заблокировал бота. Меняйте статус на unsubscribed и больше не пытайтесь отправлять сообщения. Храните отметку об отписке, чтобы сценарии не тратили операции.
Какие лимиты у Telegram на отправку сообщений
Отправляйте не чаще одного сообщения в секунду на чат и добавляйте задержки в массовых сценариях. При высокой интенсивности лучше разбивайте рассылку на пакеты с паузами, так спокойнее и для бота, и для вас.
Что выбрать для хранения базы — таблицу или CRM
Если только стартуете и хотите гибко играться с колонками — Google Sheets отлично подходит. Если у вас отдел продаж и статусы сделок — берите Bitrix24 или amoCRM и сразу заполняйте карточки из бота. Make работает и с тем, и с другим.
Как экономить операции в Make
Фильтруйте события на входе, давайте модулям имена, тестируйте по одному блоку, используйте Data Store для дедупликации и не гоните лишние запросы в CRM. Это экономит лимиты и нервы.
Можно ли подключить AI, чтобы бот сам отвечал
Да, через интеграцию с AI-сервисами в Make.com можно генерировать ответы-шаблоны и классифицировать сообщения. Главное — хранить логи и давать человеку простой путь к живому менеджеру.