
Бот автопостинга — это транспорт, а не редакция. Он забирает материал со статусом `ready`, подставляет ссылку с UTM и отправляет в канал по расписанию. Всё, что происходит до `ready` — тема, факты, оффер, картинка, проверка цен — остаётся зоной человека.
Отсюда рабочее правило: бот не улучшает контент, он делает регулярным то, что вы уже умеете писать. Если запаса постов нет, автоматизация просто быстрее покажет пустой календарь и ошибки API.
Что бот делает, а что не делает
| Слой | Кто отвечает | Можно ли автоматизировать |
|---|---|---|
| Тема, угол, оффер | стратег | нет |
| Черновик текста | автор или ИИ + редактор | частично |
| Факты, цены, сроки | редактор | нет |
| Статус `ready` | редактор | нет |
| Отправка в канал | бот | да |
| UTM и укорачивание ссылок | бот | да |
| Ответ на комментарий-претензию | человек | нет |
| Алерт «пост не ушёл» | бот | да |
Если хотя бы одну строку из колонки «нет» отдать боту, вы получите не экономию времени, а публичные ошибки в проде.
Минимальная схема
Источник (таблица / CMS / блог)
→ фильтр status = ready
→ защита от дублей (published_id пуст)
→ роутер по каналам
→ отправка (Telegram Bot API / VK API / RSS-мост)
→ запись message_id и времени обратно в источник
→ алерт в служебный чат при ошибке
Ключевых полей всего семь: `id`, `status`, `channel`, `text`, `media_url`, `publish_at`, `published_id`. Всё остальное — надстройки, которые стоит добавлять после первых двух недель работы.
Три способа «завести бота»
| Вариант | Когда подходит | Цена ошибки |
|---|---|---|
| Встроенный планировщик площадки | один канал, простой формат | низкая, но нет алертов и логов |
| Make.com или n8n | 2+ канала, ветки, ретраи | средняя: нужны операции и аккуратный маппинг |
| Свой скрипт на Python | нестандартная логика, свои источники | высокая: хостинг, мониторинг, обновления API на вас |
Для малого бизнеса связка «таблица + Make.com» закрывает 90% задач: не нужен сервер, есть история выполнений и понятные ошибки.
Сценарий в Make.com по шагам
- 1. Schedule — запуск каждые 15 минут. Чаще почти никогда не нужно: слоты в контент-плане всё равно измеряются часами.
- 2. Google Sheets → Search Rows — фильтр `status = ready` И `publish_at <= now` И `published_id` пусто. Limit 5, чтобы один сбой не выбросил в эфир всю очередь.
- 3. Router — ветки по значению `channel`: Telegram, VK, блог-анонс.
- 4. Telegram Bot → Send a Photo / Send a Message — текст, `chat_id` канала, `parse_mode` HTML.
- 5. Sheets → Update a Row — записываем `published_id` (это `message_id` из ответа) и фактическое время. Без этого шага один сбой сети превращается в дубль.
- 6. Error handler → Resume + вебхук в служебный чат — ветка обработки ошибок вешается на модуль отправки, а не на весь сценарий.
Отдельный модуль Tools → Sleep на 2–5 секунд между каналами снимает большую часть проблем с лимитами.
Telegram: честные правила
Без мифов о «раскрутке ботом»:
- - бот публикует в канал только если он добавлен в администраторы с правом постинга; никакого «доступа по ссылке» нет;
- - длина сообщения — до 4096 символов, подпись к фото — до 1024. Длинный лонгрид придётся резать или публиковать ссылкой на статью;
- - Bot API отдаёт ошибку `429` с полем `retry_after` — это не сбой, это просьба подождать. Корректный бот читает `retry_after` и повторяет попытку, а не долбит запросами;
- - `parse_mode: MarkdownV2` требует экранировать служебные символы. Для автопостинга практичнее HTML: меньше поводов получить `400 Bad Request` на случайном дефисе;
- - охват нельзя купить у бота. Просмотры, реакции и подписчики зависят от контента и пересылок, а не от того, что пост отправил скрипт;
- - накрутка просмотров и рассылка по чужим чатам нарушают правила площадки и ведут к бану бота и канала. Это не «серая оптимизация», а гарантированная потеря актива.
Подробный разбор именно Telegram-контура — в статье про автопостинг Telegram.
ВКонтакте и остальные площадки
Во ВКонтакте публикация идёт через метод `wall.post` от имени сообщества с токеном группы. Медиа загружается в два шага: получить сервер загрузки, залить файл, сохранить и только потом приложить `attachments`. Это дольше, чем в Telegram, и именно здесь чаще всего рвётся сценарий.
Instagram и другие площадки без стабильного публичного API в РФ закрывают полуручным режимом: бот готовит пакет «текст + картинка + время» и присылает напоминание ответственному. Это честнее, чем обещать клиенту полный автопилот там, где его нет.
Ошибки, ретраи и алерты
| Ошибка | Что значит | Действие бота |
|---|---|---|
| `401` / `403` | токен отозван или бот разжалован | стоп, алерт человеку, публикацию не повторять |
| `429` | лимит частоты | ждать `retry_after`, затем одна повторная попытка |
| `400` | битая разметка или слишком длинный текст | пометить строку `error`, алерт, не ретраить |
| таймаут сети | площадка не ответила | 2 ретрая с паузой, затем алерт |
| пустой слот | нет ни одной строки `ready` | алерт за 24 часа до слота |
Алерт без адресата бесполезен. Заведите служебный чат и одного ответственного — иначе ошибки копятся молча неделями.
Доступы и безопасность
Токен бота и ключи API — в секретах сервиса (в Make это Connections и переменные), а не в столбце таблицы «для команды». Если подрядчик уходит, токен перевыпускается: в Telegram это делается командой у BotFather и мгновенно обнуляет старый ключ.
ГЕО: что учитывать в России и СНГ
- - Часовые пояса. Сервис автоматизации обычно живёт в UTC, ваша аудитория — нет. Зафиксируйте один пояс проекта и храните `publish_at` в нём, иначе пост для Владивостока уйдёт в четыре утра.
- - Праздничный календарь РФ. Длинные январские и майские выходные ломают привычную активность. Держите 1–2 гибких слота в месяц и право сдвинуть очередь вручную.
- - Доступность площадок. Telegram, ВКонтакте, Дзен и Одноклассники стабильно работают из РФ. Западные сервисы могут требовать отдельного платёжного контура — это вопрос не техники, а бюджета и рисков.
- - Оплата. Западные no-code сервисы тарифицируются в валюте. Закладывайте это в смету заранее, чтобы через месяц контур не встал из-за непрошедшего платежа.
- - Региональные проекты. Мы работаем удалённо по всей стране: бриф и сдача идут асинхронно, так же как для сайта в Новосибирске или в Краснодаре.
Метрики, по которым видно, что бот работает
- - доля слотов, закрытых без срыва, за 30 дней;
- - число ошибок `4xx` и просроченных токенов;
- - переходы с UTM и заявки с этих переходов;
- - время, которое команда тратит на публикации (должно падать, иначе автоматизация не окупилась).
Охват и лайки к работе бота не относятся: это метрики контента.
Антипаттерны
- - ИИ пишет сразу в очередь публикации, минуя статус `ready`;
- - один сценарий на пять сетей при ресурсе на одну;
- - нет записи `published_id` — и при сбое сети пост уходит дважды;
- - ретрай на ошибке `400`, которая никогда не исправится сама;
- - токены в общей таблице;
- - никто не смотрит служебный чат с алертами.
Что берём на себя
Собираем контур целиком: контент-план, материалы, подключение каналов и запуск — это автопубликация. Если профиль ещё не выглядит как витрина, сначала делаем упаковку блога: стиль, рубрики и запас постов. Состав пакетов и сроки — на странице цены, запуск обычно занимает 5–15 дней.
Частые вопросы
Бот сам придумает посты?
Нет. Генерацию черновиков можно поручить ИИ, но факты, цены и оффер проверяет редактор. Бот отвечает только за доставку.
Нужен ли свой сервер?
Для связки «таблица + Make» — нет. Сервер нужен, если пишете собственный скрипт и хотите контролировать окружение.
Что будет, если площадка сменит API?
Сценарий упадёт с ошибкой. Поэтому алерт обязателен: молчащая автоматизация опаснее ручной работы.
Можно ли публиковать в несколько каналов один текст?
Технически да, через роутер. Практически стоит менять первый абзац и формат под площадку — иначе пост читается как рассылка.
Сколько постов нужно в запасе перед стартом?
Минимум пять готовых `ready`. Комфортно — неделя вперёд.
Чеклист запуска
- 1. Один канал и одна цель на 30 дней.
- 2. Таблица с семью полями и статусами.
- 3. Бот добавлен в администраторы, токен в секретах.
- 4. Сценарий с фильтром `ready`, лимитом 5 и записью `published_id`.
- 5. Error handler и служебный чат с алертами.
- 6. Пять постов в буфере.
- 7. Тестовый выход в закрытый канал, потом бой.
- 8. Разбор раз в неделю: срывы, ошибки, заявки с UTM.