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

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

- Сценарий успешно создан!
После создания сценария на странице Make появится знак плюс (добавление модуля).
Настройка получения входящих сообщений#
Для получения сообщений в Make требуется настроить триггер:
Настройка инстанса
При использовании триггера Watch webhooks автоматически устанавливается настройка инстанса:
"webhookUrl": "вебхуксервер make",
"incomingWebhook": "yes"
Порядок настройки триггера:
- Создайте новый сценарий
- Нажмите на знак
+
, в списке приложений найдите GREEN-API for WhatsApp

- Выберите в начале списка триггер Watch webhooks

-
Нажмите на добавленный модуль, чтобы открыть его настройки
-
Нажмите
Create a webhook
чтобы добавить вебхук

- Нажмите
Create a connection
чтобы добавить подключение к инстансу

-
Укажите значения Вашего инстанса
idInstance
иapiTokenInstance
(Сценарий будет получать сообщения с номера, привязанного к этому инстансу)Поле
Connection name
можно использовать для названия добавляемого инстанса (например "рабочий номер" или "продажи").
Это позволит вам легко найти нужную учётную запись в списке доступных при создании интеграций. -
Нажмите
Save
для сохранения значений
-
Сделайте тест, нажав кнопку
Run once
.Если на выбранном инстансе есть входящие сообщения, и тест успешен, нажмите на
лупу
, чтобы увидеть, какие поля будут доступны при настройке действия.
Готово! Триггер настроен и готов к использованию!
Как получать уведомления только от определенного чата или группы?
По умолчанию сценарий запускается при получении сообщения от любого написавшего номера.
Для запуска сценария при получении сообщения от определённого номера (или нескольких конкретных номеров), используйте параметр chatIds

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

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

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

Отправка сообщения#
После настройки получения входящих сообщений необходимо создать действие, которое будет отвечать пользователю тем же текстом.
-
Нажмите на знак
+
, в списке приложений найдите 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
Запуск и проверка бота#
Для постоянной работы эхо-бота нужно запустить автоматизацию, активировав переключатель.

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

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