Работает, когда Instagram включен

Настройка ответа на обратный вызов Instagram

Вам нужно переключить тумблер в подключенной учетной записи Instagram в разделе Мессенджеры, чтобы ваш бот мог отвечать на комментарии.

Если под вашим официальным подключением Instagram отображается сообщение "Переподключитесь для работы с комментариями", вам необходимо переподключить Instagram, чтобы обновить необходимые разрешения. Для этого нажмите на иконку корзины в правом нижнем углу (удалить бота).

Подключите учетную запись Instagram снова. Как подключить Instagram, смотрите здесь.

При публикации постов в качестве соавтора все уведомления о комментариях будут отправляться в учетную запись, с которой вы создаете пост.

Работает с комментариями под Reels, а также под постами.

Когда пользователь комментирует пост, боту отправляется обратный вызов (вы можете просмотреть его в разделе "Клиенты" в диалоге пользователя).

Обратный вызов имеет формат: client_wall_reply_new link id: text

где:

  • link — ссылка на пост
  • id — идентификатор записи
  • text — текст комментария

Мы можем работать с комментариями двумя способами: ответить своим комментарием или написать одно сообщение в Direct.

client_wall_reply_new — это общая часть обратного вызова.

client_wall_reply_new_comment — если нас интересуют комментарии только к посту

client_wall_reply_new_live — если комментарии только во время прямой трансляции

Как настроить автоответ на комментарии в Direct

Автоматический ответ на комментарий НЕ открывает 24-часовое окно.

Скопируйте обратный вызов и перейдите в раздел Конструктор воронок. Создайте блок типа "Проверка первичного условия" или "Безусловное состояние" и вставьте скопированный обратный вызов в условие. Мы настраиваем проверку "На наличие ключевых слов"

ВНИМАНИЕ! Не рекомендуется использовать цифры в качестве триггера для запуска бота.

Идентификатор поста может содержать эти цифры. Бот может ответить на любой обратный вызов, содержащий эти цифры, если он выберет совпадение на основе наличия ключевых слов.

Если вы хотите настроить реакцию на комментарии под любым постом для любого комментария, то в условиях укажите только client_wall_reply_new_comment.

При выборе совпадения устанавливается "Совпадение по ключевому слову**".**

Важное примечание:

Мы рекомендуем использовать тип поиска "Совпадение по ключевому слову" при настройке ответа на обратный вызов.

Помните, что логика сопоставления для условия блока должна выбираться в соответствии с настройками и требованиями вашего проекта. Поэтому обязательно тщательно тестируйте поток вашего чат-бота!

Прочитайте о выборе совпадения в условии блока в статье "Триггер и тип совпадения".

Если вы планируете настроить реакцию на конкретный пост, включите client_wall_reply_new_comment с последующим идентификатором поста в поле триггера.

ВНИМАНИЕ!

Не рекомендуется использовать цифры в качестве триггеров для запуска вашего бота.

Идентификатор поста часто состоит из цифр. Если ваш бот использует сопоставление по ключевым словам, он может некорректно реагировать на любой обратный вызов, содержащий эти цифры.

Если вы планируете настроить реакцию на конкретный пост, включите client_wall_reply_new_comment с последующим идентификатором поста в поле триггера.

ВНИМАНИЕ!

Не рекомендуется использовать цифры в качестве триггеров для запуска вашего бота.

Идентификатор поста часто состоит из цифр. Если ваш бот использует сопоставление по ключевым словам, он может некорректно реагировать на любой обратный вызов, содержащий эти цифры.

В поле ответа введите текст, который вы хотите отправить в качестве ответа на этот комментарий.

Над сообщением указано, что оно было отправлено в ответ на комментарий. Если вы нажмете "Посмотреть пост", вы будете перенаправлены на пост, который вы прокомментировали.

Если пользователь оставляет комментарий, на который вы не настроили ответ (или если вы не настроили никаких ответов), вы можете ответить ему одним сообщением в Direct в разделе "Клиенты".

Однако, если вы попытаетесь отправить пользователю еще одно сообщение в Direct, второе сообщение не будет доставлено, потому что ответ на комментарий не открывает повторно 24-часовое окно обмена сообщениями.

Как использовать прямые ссылки на посты Instagram при работе с комментариями

Для работы с комментариями необходимо включить переключатель "Отвечать на комментарии" в разделе Каналы Instagram.

Когда пользователь комментирует пост, в чате в разделе Клиенты появляется уведомление, содержащее текст комментария, и генерируется переменная instagram_media_url со ссылкой на публикацию.

Вы можете использовать переменную instagram_media_url для настройки реакций на комментарии к определенным постам Instagram.

Рассмотрим пример.

Настройка различных ответов в зависимости от того, какой пост был прокомментирован

Задача: В аккаунте есть несколько постов, в том числе три с товарами по разным ценам. Настройте ответы на комментарии к этим трем постам, чтобы отвечать точной ценой. Для всех остальных постов отвечайте "Договорная." Ответ должен отправляться как в Direct, так и в виде комментария под постом.

Решение:

  1. Настройте реакции по ключевым словам на комментарии к постам. Это означает, что бот будет реагировать на любой пост, где комментарий содержит указанные ключевые слова.
  2. Используйте функцию insta_create_comment в Калькуляторе, чтобы опубликовать комментарий под соответствующим постом, одновременно установив текст ответа в поле Текст сообщения для отправки сообщения в Direct. Это позволяет пользователю получить цену одновременно и в комментариях, и в Direct.
  3. Если комментарий, содержащий ключевые слова, появляется под любым другим постом, пользователь получит сообщение "договорная."

Шаг 1. В поле триггера Стартового блока введите client_wall_reply_new с последующими ключевыми словами, которые должны вызывать ответ. Установите тип совпадения "Совпадение по ключевому слову".

Пример для копирования:

client_wall_reply_new_comment (price|how many|cost|find out)

Если вы хотите отвечать только на комментарии под постами, используйте client_wall_reply_new_comment. Если вы хотите отвечать только на комментарии во время прямой трансляции, используйте client_wall_reply_new_live.

Комментарии под Reels работают так же, как и под обычными постами.

Шаг 2. В поле "Калькулятор" объявите переменную text. Ее значение определяется условием IF, которое проверяет переменную instagram_media_url.

Пример для копирования (не забудьте заменить ссылки на URL ваших реальных постов). Вы можете скопировать URL из переменной instagram_media_url в чате клиента (раздел Клиенты) после того, как он прокомментирует соответствующий пост:

text = if(instagram_media_url == "https://www.instagram.com/reel/Cagzkx", "$10", if(instagram_media_url == "https://www.instagram.com/p/CqvCq4", "$29", if(instagram_media_url == "https://www.instagram.com/p/CocLhN", "$35", "Other")))

Шаг 3. Используйте метод insta_create_comment, чтобы опубликовать комментарий.

Пример для копирования:

insta_create_comment("#{text}")

где #{text} — это текст ответа, который мы отправляем пользователю.

Шаг 4. В поле Текст сообщения введите переменную, содержащую ответ для Direct.

В этом примере переменная — #{text}. Тот же ответ публикуется в виде комментария и дублируется в Direct. При необходимости вы можете настроить разные ответы для каждого.

client_wall_reply_new — это общий префикс обратного вызова. Чтобы нацелиться только на комментарии под постами, используйте client_wall_reply_new_comment. Чтобы нацелиться только на комментарии во время прямой трансляции, используйте client_wall_reply_new_live.

Как опубликовать комментарий в ответ на сообщение под постом или во время прямой трансляции

При работе с комментариями и настройке ответов под постом используйте случайную функцию и отправляйте переменный текст. Если бот будет многократно отправлять одинаковый текст, вы можете столкнуться с ошибкой: "This API call does not support the requested response format." Подробнее о работе с функцией random можно узнать здесь.

Шаг 1. В разделе Клиенты скопируйте обратный вызов (уведомление), указывающий, что комментарий был опубликован, затем перейдите в Конструктор.

Шаг 2. Создайте блок "Старт" или "Триггер" и вставьте скопированный обратный вызов в поле Триггер.

Есть несколько способов настроить условие триггера бота.

В этом примере бот отвечает на комментарии под всеми постами сообщением "ответ в комментариях." Чтобы это настроить, введите основной префикс обратного вызова и ключевое слово в поле условия:

client_wall_reply_new_comment reply in comments

Важно: установите тип совпадения "Совпадение по ключевому слову".

ВНИМАНИЕ!

Не рекомендуется использовать цифры в качестве триггеров для запуска вашего бота.

Идентификатор поста часто состоит из цифр. Если ваш бот использует сопоставление по ключевым словам, он может некорректно реагировать на любой обратный вызов, содержащий эти цифры.

client_wall_reply_new — это общий префикс обратного вызова, который срабатывает как для постов, так и для прямых трансляций.

Чтобы отвечать только на комментарии под постами, используйте:
client_wall_reply_new_comment

Чтобы отвечать только на комментарии во время прямой трансляции, используйте:
client_wall_reply_new_live

Для обратных вызовов прямой трансляции (client_wall_reply_new_live) есть особенность: бот будет реагировать только во время прямой трансляции. Как только прямая трансляция закончится, бот больше не будет обнаруживать комментарии под ней и не сможет на них ответить.

Шаг 3. В поле ответа введите #{none}.

Шаг 4. В поле "Калькулятор" напишите:

insta_create_comment("текст вашего ответного комментария")

Текст вашего комментария должен быть помещен в скобки.

Затем нажмите "Готово".

При такой настройке, как в примере, сгенерированный ботом комментарий будет опубликован в ответ на любой комментарий под постом, содержащий ключевые слова "ответ в комментариях".

Пример ответа бота на комментарий в комментариях.

Ответ бота на ЛЮБОЙ комментарий под ЛЮБЫМ постом.

Если вы введете только общий префикс обратного вызова client_wall_reply_new в поле "Триггер", ваш комментарий будет опубликован в ответ на комментарии под всеми постами (независимо от текста, который написал пользователь).

Ответ бота на КОНКРЕТНУЮ ФРАЗУ под ЛЮБЫМ постом.

Если вы оставите в поле "Триггер" client_wall_reply_new ``и ключевое слово, то ваш комментарий будет отправлен в ответ на комментарии с ключевым словом под всеми постами.

Ответ бота на КОНКРЕТНУЮ ФРАЗУ под КОНКРЕТНЫМ постом.

Скопируйте полный обратный вызов из раздела клиентов и поместите его в поле Стартового блока:

Вы можете отвечать на комментарии, которые пользователи оставляют во время прямой трансляции (для этого есть отдельный ключ client_wall_reply_new_live).

Для прямых трансляций есть одна особенность: бот будет реагировать только во время трансляции. Если трансляция закончилась, бот не увидит комментарии под этой трансляцией и не сможет ответить.

Как сохранить текст комментария в переменную

Чтобы сохранить текст комментария пользователя, используйте функцию comment_text().

Вставьте обратный вызов client_wall_reply_new в поле Триггер. Затем в поле "Калькулятор" присвойте текст переменной — например, comm (вы можете использовать любое другое имя):

comm = comment_text()

Затем нажмите "Добавить условие" в калькуляторе и укажите:

comm = comment_text()

Как удалить комментарий

Функция insta_delete_comment(comment_id) удаляет комментарий.

Если comment_id не указан, функция использует переменную клиента instagram_last_comment_id.

В случае успеха возвращает {"success":true}. Если указан несуществующий comment_id, возвращает {"An unexpected error has occurred. Please retry your request later."}.

Работа с упоминаниями аккаунта

Как упомянуть в медиа

Когда пользователь отмечает ваш профиль в своем посте, ваш бот получит следующий обратный вызов:

Появляются следующие переменные:

mention_caption — подпись к посту

post_url — ссылка на пост

mention_comments_count — количество комментариев

mention_like_count — количество лайков

mention_media_id — идентификатор поста

Давайте настроим реакцию на ответ на упоминание.

Для этого создайте блок "Проверка первичного условия" или "Состояние с условием". В поле "Условие" введите mention_in_media и установите тип совпадения "Совпадение по ключевому слову".

В поле "Калькулятор" введите следующий метод:

reply_to_mention(text)

где text — это комментарий, который появится под упомянутым постом. Вы можете указать переменную (вставляется без кавычек внутри скобок) или ввести текст напрямую (заключенный в кавычки).

Пример:

Шаг 1. Перейдите в конструктор и создайте блок с триггером (Стартовый блок или Триггерный блок). Затем в поле Триггер укажите обратный вызов mention_in_media.

Выберите "Упоминание в посте" в списке триггеров, а в качестве метода калькулятора выберите "Ответный комментарий к посту". Затем введите текст ответного комментария.

Шаг 2. Нажмите "Добавить триггер". Триггер вместе с методом будет введен в блок:

Как упомянуть в комментарии

Когда пользователь отмечает ваш аккаунт в комментариях, чат получит обратный вызов, например:

Если ваш аккаунт отмечен в приватном профиле, обратный вызов получен не будет.

В карточке клиента также появятся следующие переменные:

  • mention_like_count — количество лайков
  • mention_media_id — идентификатор поста

Давайте настроим реакцию на ответ на упоминание в комментарии.

Для этого создайте блок "Старт" или "Триггер". В поле "Условие" введите mention_in_comment и установите тип совпадения "Совпадение по ключевому слову".

В поле "Калькулятор" введите следующий метод:

reply_to_mention(text)

где text — это комментарий, который будет опубликован в ответ на упоминание. Вы можете указать переменную (вставляется без кавычек внутри скобок) или ввести текст напрямую (заключенный в кавычки).

Пример:

Шаг 1. Перейдите в конструктор, создайте блок с триггером (Стартовый блок или Триггерный блок) и введите следующий обратный вызов в поле "Триггер":

Затем выберите условие "Упоминание в комментарии".

Шаг 3. Нажмите на Калькулятор и в появившемся поле введите метод:

reply_to_mention("Текст ответа на упоминание в комментарии")

Если 24-часовое окно не открыто в чате с пользователем, вы не можете отправить прямое сообщение в ответ на упоминание. Вы можете ответить только комментарием.

Если 24-часовое окно открыто, вы можете ввести текст в поле Ответ, который пользователь получит в виде прямого сообщения после того, как ваш аккаунт будет упомянут.

Как упомянуть другие профили в комментариях под вашими постами

Если кто-то отмечен в комментариях под вашим аккаунтом, в карточке клиента создается переменная mentioned_in_comment.

В ней хранится имя пользователя отмеченного человека.
Если отмечено более двух человек, имена пользователей сохраняются в массиве.

Если вам нужно сегментировать пользователей, которые отметили двух или более друзей, вы можете присвоить переменную, например len = arr_len(mentioned_in_comment), а затем сравнить эту переменную с нужным значением.

Если 24-часовое окно обмена сообщениями не открыто в чате с пользователем, вы не можете отправить прямое сообщение в ответ на упоминание. Вы можете ответить только комментарием.