Как создать WhatsApp эхо-бота с помощью Green-API в Make#
Порядок создания эхо-бота:
- Настройка приложения Green-API
- Создание сценария
- Настройка получения входящих сообщений
- Отправка сообщения
- Запуск и проверка бота
Настройка приложения Green-API#
Настройка приложения Green-API подробно описана в разделе Настройка интеграции
Создание сценария#
Scenario (сценарий) - автоматизированный процесс, создаваемый в Make.
Каждый сценарий состоит из триггера и действия. При срабатывании триггера в одном из приложений, Make автоматически выполняет действие в другом.
Шаблон сценария
Вы можете создать сценарий по инструкции или воспользоваться нашим готовым шаблоном.
Алгоритм создания сценария:
- Войдите или зарегистрируйте учетную запись в Make
- В боковом меню нажмите кнопку
Scenarios

- На странице сценариев нажмите
Create a new scenario, чтобы создать новый сценарий

- Сценарий успешно создан!
После создания сценария на странице Make появится знак плюс (добавление модуля).
Настройка получения входящих сообщений#
Для получения сообщений в Make требуется настроить триггер.
Триггер - это событие, которое запускает ваш сценарий. Например, это может быть новое сообщение в WhatsApp, новая запись в Google Sheets, или что-то ещё.
Настройка инстанса
При использовании триггера Watch Incoming Webhooks автоматически устанавливается настройка инстанса:
"webhookUrl": "https://hook.eu2.make.com/xxxxxxxxxxxxxxxxxxxx",
"incomingWebhook": "yes"
Порядок настройки триггера:
- Создайте новый сценарий
-
Нажмите на знак
+, в списке приложений найдите GREEN-API for WhatsApp
-
Выберите в начале списка триггер Watch Incoming Webhooks, чтобы получать уведомления о входящих сообщениях

-
Нажмите на добавленный модуль, чтобы открыть его настройки
-
Нажмите
Create a webhookчтобы добавить вебхук
-
Нажмите
Create a connectionчтобы добавить подключение к инстансу
- Укажите значения Вашего инстанса
idInstanceиapiTokenInstance
(Сценарий будет получать сообщения с номера, привязанного к этому инстансу)

Поле
Connection nameможно использовать для названия добавляемого инстанса (например "рабочий номер" или "продажи").
Это позволит вам легко найти нужную учётную запись в списке доступных при создании интеграций. - Укажите значения Вашего инстанса
Фильтрация сообщений по номеру отправителя
По умолчанию сценарий запускается при получении сообщения от любого написавшего номера.
Для запуска сценария при получении сообщения от определённого номера (или нескольких конкретных номеров), используйте параметр chatIds

- Номер можно выбрать из списка контактов, нажав на значок выпадающего списка:

- Номер можно добавить вручную, введя его в поле
ChatId:

При заполнении номера вручную, требуется вводить его в международном формате + постфикс c@us - phoneNumber@c.us.
Например: 79876543210@c.us.
Для добавления нескольких номеров, добавьте желаемое количество полей, нажав на Add item

- Нажмите
Saveдля сохранения значений
- Сделайте тест, нажав кнопку
Run once.
Если в выбранном чате есть входящие сообщения, и тест успешен, нажмите налупу, чтобы увидеть, какие поля будут доступны при настройке действия.

Готово! Триггер настроен и готов к использованию!
Отправка сообщения#
После настройки получения входящих сообщений необходимо создать действие, которое будет отвечать пользователю тем же текстом.
-
Нажмите на знак
+, в списке приложений найдите GREEN-API for WhatsApp
-
Выберите модуль Send a Message

-
Из списка
Connectionвыберите готовое подключение или добавьте подключение, нажав кнопкуadd.При добавлении нового подключения, заполните данные Вашего инстанса
idInstanceиapiTokenInstance
(Сценарий будет получать сообщения с номера, привязанного к этому инстансу)После нажмите
Save, чтобы сохранить.
-
В поле
Chat ID sourceвыберитеManual:
-
Нажмите на поле ввода
Chat Id, укажите в нём переменнуюsenderиз объектаsenderData.
-
В поле
Messageукажите переменную с текстом сообщения.Так как текст сообщения может передаваться в разных полях в зависимости от типа сообщения, рекомендуется указать условие:
"extendedTextMessageData.textстоит использовать лишь в том случае, еслиtextMessageData: textmessageне заполненно"
-
Нажмите
Saveдля сохранения настроек -
Сделайте тест, нажав кнопку
Run once.
Если тест успешен, нажмите налупу, чтобы увидеть детали результата действия
Готово! Эхо-бот готов к запуску
Как настроить, чтобы бот реагировал только на определенные сообщения?
В некоторых ситуациях может быть полезно, чтобы бот отвечал только на определенные сообщения из чата, например, когда бот находится в группе.
Настроим нашего бота, чтобы он отвечал на сообщения с текстом !green-bot.
Чтобы сделать это, воспользуемся фильтрами. Настроить их можно, нажав на точки, связывающие вебхук и отправку сообщения.

В качестве примера будем проверять входящее сообщение на наличие фразы !green-bot.
-
В параметре
Conditionуказываем переменную с текстом сообщения.Так как текст сообщения может передаваться в разных полях в зависимости от типа собщения, рекомендуется указать условие:
"еслиtextMessageData: textmessageне пусто, то использовать его; в ином случае - использоватьextendedTextMessageData.text" -
В параметре
Text operators: Equal toуказываем текст, на который будет реагировать бот

Условием проверки ставим Starts with, для проверки на наличие фразы в начале сообщения

Теперь бот будет реагировать только на сообщения начинающиеся с !green-bot.
Чтобы убрать эту часть сообщения и получить только текстовый запрос пользователя, воспользуемся модулем Replace из встроенного приложения Text parser.
Создаём модуль между вебхуком и отправкой сообщением

Выбираем модуль Replace

Вводим в поле Pattern фразу, которую мы будем удалять. В нашем случае !green-bot (с пробелом в конце)

В поле New Value вставляем переменную emptyString для замены фразы на пустую строку

В качестве текста для обработки выбираем textMessage

Заменяем в модуле Send a Message текст ответного сообщения на вывод модуля Replace

После этой настройки бот будет отвечать, только если в начале сообщения будет введена фраза !green-bot
Запуск и проверка бота#
Для постоянной работы эхо-бота нужно запустить автоматизацию, активировав переключатель.

Теперь бот запущен и готов к работе. Его работоспособность можно проверить, написав на номер, привязанный к инстансу. Бот ответит тем же сообщением в ответ.

На этом настройка бота окончена.