Пост даёт своё приглашение. Кодовое слово отдаёт свой гайд. Это вся конструкция.
Человек пишет плюсик под постом — в личку ему уходит приглашение, привязанное именно к этому посту: подпишись и пришли слово. Он присылает слово — получает гайд, привязанный к этому слову. Другой пост — другое слово и другой гайд, всё независимо.
Хочется отдавать ссылку прямо в ответ на комментарий, одним движением. Так не выйдет, и причина не в лени — в правилах платформы.
Проверить, подписан ли человек, можно только после того, как он сам написал. Документация Meta формулирует это дословно:
То есть комментарий согласия не даёт. Подписка — тоже не даёт. Пока человек молчит, про него не известно ничего, и спросить не у кого: приходит не «не подписан», а ошибка.
| Что | Правило платформы |
|---|---|
| Написать первым | нельзя Единственная лазейка — ответ на комментарий |
| Ответ на комментарий | одно сообщение На каждый комментарий ровно одно, окно 7 дней |
| Обычная переписка | 24 часа Отсчёт от последнего сообщения человека, каждое новое продлевает |
| Узнать подписку | Только после его сообщения или нажатия кнопки |
| Кнопки быстрого ответа | до 13 До 20 символов подпись, только текст |
| Заблокировавшие | не видны Ни профиля, ни подписки |
| Частота | 2 запроса в секунду |
На каждое событие система проходит три фильтра подряд:
Если подходит несколько — выигрывает более частное, в таком порядке старшинства:
Проверка идёт до первого подходящего. Если ни одно не подошло, в лог пишется не «нет правила», а конкретная причина — см. Как читать логи.
Комментарий под постом — первый шаг воронки. Сообщение в директе — второй. От этого зависит, какие поля вообще имеют смысл: у правила для директа нет ни поста, ни публичного ответа, и панель их прячет.
Поле есть только у правила для директа: только подписчикам (отдаём гайд) и только не подписанным (просим подписаться). Обычно на одно кодовое слово заводятся оба правила: они отличаются только этим полем и текстом.
У правила на комментарий поля нет вовсе, и это не упрощение интерфейса: до первого сообщения человека подписку узнать не у кого. Формально проверка сработала бы для того, кто когда-то уже писал в директ, — но для нового человека она молча провалится, а приглашение нужно именно новым.
| Тип | Когда срабатывает |
|---|---|
| содержит | Слово встречается внутри текста. Рабочий вариант по умолчанию: ловит и «канарейка», и «канарейка!!!» |
| точное | Текст равен слову целиком. Строго, но «канарейка 🦜» уже не пройдёт |
| регулярное выражение | Для нескольких вариантов сразу: канарейк|попуга |
| любой текст | Что угодно непустое. В директе такое правило отвечает всем подряд — ставить осознанно |
Регистр не важен нигде: «Канарейка» и «канарейка» — одно и то же.
Для комментария это то, что человек пишет под постом — обычно +.
Для директа — само кодовое слово.
Только для комментариев. Все посты — правило ловит плюсики везде. Выбор из списка — только под этим постом. Так каждый пост получает своё приглашение со своим словом.
Пост выбирается из списка последних 50 или вставляется ссылкой. Руками id вводить не нужно и не стоит — см. Грабли.
Сам текст. {{link}} подставляет ссылку, {{username}} — имя человека.
Если ссылка задана, а плейсхолдер написан с опечаткой, ссылка допишется в конец сама:
лучше так, чем отправить человеку висящие скобки.
То, ради чего всё. Есть только у правила, которое отдаёт обещанное; у приглашения и у просьбы подписаться ссылки быть не должно.
Подписи через запятую. Подробно — ниже.
Необязательный комментарий под комментарием человека — «Отправил в личные сообщения!». Виден всем, поэтому работает как реклама воронки. Если не отправится, на основной ответ это не влияет.
Нужен редко: порядок и так задан старшинством условий. Пригождается, чтобы развести два одинаковых по частности правила.
Кнопка избавляет человека от печатания: тап — и кодовое слово отправлено. Приходит оно обычным сообщением, где текст равен подписи кнопки, поэтому подпись должна точно совпадать с кодовым словом — тогда правило ловит и нажатое, и напечатанное руками.
Ограничения платформы: до 13 кнопок, до 20 символов подпись, только текст. Панель не даст сохранить длиннее — Meta обрезает такое молча, и человек видит огрызок.
В обычной переписке кнопки работают штатно. Самое полезное место — просьба подписаться: человек подписывается и возвращается в переписку, где его ждёт кнопка с тем же словом.
Под каждый пост — три правила. Ниже на примере слова симулякр.
| 1. Приглашение | 2. Гайд | 3. Просьба подписаться | |
|---|---|---|---|
| Срабатывает на | комментарий | директ | директ |
| Подписка | неважно | только подписчикам | только не подписанным |
| Тип | содержит | содержит | содержит |
| Слово | + | симулякр | симулякр |
| Пост | выбрать нужный | — | — |
| Ссылка | нет | на гайд | нет |
| Кнопки | симулякр | нет | симулякр |
| Сообщение | подпишись и пришли слово симулякр | держи гайд {{link}} | подпишись и нажми кнопку ещё раз |
Кодовые слова у разных постов должны быть разными — иначе непонятно, какой гайд отдавать. Проверять это некому, кроме вас.
Всё то же самое можно не заполнять руками, а сказать словами: «сделай воронку на последний пост, слово симулякр, ссылка такая-то». Помощник в панели уточнит, чего не хватает, и покажет черновик из трёх правил.
Что стоит сказать сразу, чтобы не переспрашивал: какой пост, какое кодовое слово, куда ведёт ссылка. Тексты сообщений он предложит сам — их потом можно поправить.
Работает на бесплатном тарифе Groq, поэтому изредка упирается в лимит: помощник подождёт и повторит сам, а если не выйдет — скажет об этом прямо. Кнопка «Заново» стирает переписку; она и так живёт только в открытой вкладке.
Две таблицы внизу панели: комментарии и входящие в директе. В обеих под статусом печатается причина — чтобы не гадать, почему человек ничего не получил.
| Что написано | Что случилось |
|---|---|
| отправлено | Всё хорошо, сообщение ушло |
| слово подходит правилу №N, но оно стоит на другом посте | Правило привязано к другому посту. Самая частая причина молчания |
| текст не подошёл ни под одно ключевое слово | Опечатка, другое слово или человек просто что-то написал |
| правило №N только для подписчиков, а человек не подписан | Условие по подписке отсекло. Если нет правила «для не подписанных», человек не получит ничего |
| подписку узнать не удалось, отправлена просьба подписаться | Сбой API. Ушла просьба подписаться, гайд не ушёл |
| правило №N проверяет подписку, а узнать её не удалось | Комментарий: человек ещё не писал, узнать нечего. У правил на комментарий условия по подписке быть не должно |
| кнопки не приняты, отправлено текстом | Платформа отказалась от кнопок в ответе на комментарий. Сообщение доставлено |
| лимит 3 автоответов в час | Защита от петли с чужим ботом, см. Грабли |
| сообщение без текста | Вложение, шаблон или стикер — ловить нечем |
Колонка Пост в таблице директа показывает, с какого поста человек пришёл. Это известно только из его комментария: в самом директе связи с постом нет, поэтому у написавших напрямую там стоит «сам».
Сайты «узнать id поста» и разметка самой страницы отдают внутренний id
вида 3960614136553075751. Instagram присылает нам совсем другой —
вида 18108661865041383. Правило с внутренним id не сработает никогда.
Поэтому пост выбирается из списка или вставляется ссылкой: система приведёт
любую форму к нужной сама.
В аккаунте уже работает сторонняя автоматика. Наш ответ может вызвать её ответ, а тот — наш: получится вечный пинг-понг. Поэтому больше трёх автоответов в час одному человеку не уходит ни при каких правилах.
«содержит» ищет подстроку. Слово да найдётся в «дай», «правда», «даже».
Кодовые слова должны быть длинными и редкими.
Серый ярлык слева — это состояние правила, кнопка справа — действие. Раньше это было одно и то же, и правила гасили кликом, думая, что включают.
Удалили правило №12 — следующее будет №13, а не №12. Номер в логе всегда указывает на конкретное правило, даже если их сейчас всего три.
Плюсик под тем же постом второй раз — второе приглашение. Ответ на комментарий разрешён на каждый комментарий отдельно, и система его отправит: она не помнит, что человек уже приходил.
Если человек написал и пропал, ответить ему позже суток уже нельзя. Ответ на комментарий это ограничение обходит — но он ровно один и живёт 7 дней.