Как создать WhatsApp эхо-бота с помощью Green-API в Make#
В сервисе Make платформа Green-API имеет свое приложение (альтернативная ссылка на приложение), с его помощью Вы сможете отправлять сообщения в WhatsApp.
Что делать, если возникает ошибка при установке?
Если при установке приложения по указанным ссылкам в Make возникает ошибка, рекомендуем указать в ссылке поддомен, в котором производилась авторизация на сайте.
От поддомена зависит доступность сайта по ссылке.
Примеры доступных доменов: eu1, eu2, us1, us2.
В этом руководстве мы рассмотрим процесс создания эхо-бота для WhatsApp, который будет автоматически отвечать на полученные сообщения. Реализация бота осуществляется с использованием приложения Green-API для платформы Make.
Порядок создания эхо-бота:
1. Настройка интеграции#
Прежде чем начать разработку бота, необходимо авторизоваться в сервисе Make и подключить приложение от Green-API. Для этого перейдите по ссылке для установки приложения, указанной выше, и нажмите кнопку "Install" на открывшейся странице. После этого выберите организацию, для которой вы хотите установить приложение.
Scenario (сценарий) - автоматизированный процесс, создаваемый в Make. Каждый сценарии состоит из триггера и действия. При срабатывании триггера в одном из приложений Make автоматически выполняет действие в другом. Создать сценарий можно из раздела бокового меню "Scenarios", нажав на кнопку "Create a new scenario".
После этого появится рабочее пространство сценария, в котором можно производить дальнейшую настройку.
2. Получение сообщения#
Чтобы начать использовать приложение в Make, необходимо получить данные инстанса. Информацию о том, как создать инстанс и получить его данные, можно найти по ссылке.
Также требуется авторизовать инстанс. Это действие устанавливает связь между аккаунтом WhatsApp на вашем телефоне с инстансом, позволяя отправлять и получать сообщения. Подробная инструкция по авторизации инстанса представлена в статье "Быстрый старт" в нашей документации.
Запуск сценария должен происходить после получения входящего сообщения эхо-ботом. В этом руководстве мы рассмотрим процесс получения уведомлений через WebHook.
С другими способами настройки уведомлений можно ознакомится по ссылке.
Для получения входящих уведомлений через WebHook используется триггер "New Message Webhook" из интеграции Green-API. Настроим его следующим образом.
- Нажмите на знак плюс и найдите в списке приложений "Green-API"
- Выберите модуль "New Message Webhook"
- Нажмите на
Add
, чтобы добавить вебхук на инстанс, с которого будут приходить уведомления
- В открывшемся окне нажмите
Add
, чтобы добавить подключение к инстансу
-
Введите значение от авторизованного инстанса, где:
Connection name
- произвольное название подключения к инстансу (не путать с названием инстанса)ID Instance
иApi Token Instance
- данные авторизации вашего инстанса
Что делать, если возникла ошибка при попытке подключить инстанс?
При попытке подключить не авторизованный инстанс, появится уведомление с ошибкой
Unexpected status notAuthorized. Should be "authorized"
. Убрать данную ошибку можно, произведя авторизацию инстанса, связав аккаунт WhatsApp с инстансом
-
Сохраните данные вебхука, нажав сначала на кнопку "Save", а после на кнопку "OK"
Перед дальнейшей настройкой потребуется отправить тестовое сообщение на номер телефона, который привязан к инстансу.
-
Для этого временно запустите автоматизацию, нажав на кнопку "Run Once"
-
Отправьте текстовое сообщение на номер телефона, привязанный к инстансу. Через несколько секунд должно прийти входящее уведомление, данные из которого потребуются для дальнейшей настройки
Как получать уведомления только от определенного чата или группы?
В окне "Create a webhook" в разделе "Only From Specify Chat" выберите пункт "Yes".
Указать чат можно вручную, выбрав в Chat ID source тип "Manual", или через список контактов, выбрав "From Contact List".
При заполнении номера вручную, требуется вводить номер в формате phoneNumber@c.us
. Например: 0100123456789@c.us
.
Вводить необходим полный номер телефона в международном формате. Не используйте плюс, нули, скобки или дефисы при вводе номера телефона в международном формате.
При выборе номера через список контактов необходимо выбрать нужный чат в выпадающем меню в разделе
Chat Id
.3. Отправка сообщения#
После настройки получения входящих сообщений, необходимо создать действие, которое будет отвечать пользователю тем же текстом. В этом поможет метод sendMessage.
Для отправки сообщений в Make требуется добавить и настроить модуль "Send Message".
-
Чтобы добавить действие, нажмите на полукруг рядом с триггером. После этого появится пустой серый круг со знаком плюс (добавление приложения)
-
Выберите приложение для исполнения действия, для этого в списке приложении найдите Green-API
-
Выберите метод SendMessage
-
Из списка
Connection
выберите готовое подключение или добавьте подключение, нажав кнопкуAdd
-
В поле
Chat ID source
выберитеManual
-
Чтобы ответить пользователю, который написал боту, необходимо определить его как получателя. Для этого в поле
Chat Id
нужно указать значение переменнойchatId
, которая находится в разделеsenderData
входящего уведомления. - В поле
Message
вставьте переменнуюtextMessage
из разделаmessageData
. После нажмитеOK
- Сделайте тест, нажав кнопку
Run once
. Если тест успешен, нажмите налупу
, чтобы увидеть детали результата действия
Готово! Эхо-бот готов к запуску
Как настроить, чтобы бот реагировал только на определенные сообщения?
В некоторых ситуациях может быть полезно, чтобы бот отвечал только на определенные сообщения из чата, например, когда бот находится в группе. Настроим нашего бота, чтобы он отвечал на сообщения с текстом !green-bot
. Чтобы сделать это, воспользуемся фильтрами. Настроить их можно, нажав на точки, связывающие вебхук и отправку сообщения.
Label
- произвольное название фильтра, а представленные текстовые поля используют сравнения друг с другом по условию выбранному в меню Text operators
.В нашем случае мы будем проверять входящее сообщение на наличие фразы
!green-bot
. Для этого вставляем в первое поле переменную textMessage
из раздела messageData
. Условием проверки ставим
Starts with
, для проверки на наличие фразы в начале сообщения !green-bot
. Чтобы убрать эту часть сообщения и получить только текстовый запрос пользователя, воспользуемся модулем Replace
из встроенного приложения Text parser
.Создаем модуль между вебхуком и отправкой сообщением
Replace
Pattern
фразу, которую мы будем удалять. В нашем случае !green-bot
(с пробелом в конце)New Value
вставляем переменную emptyString
для замены фразы на пустую строку textMessage
SendMessage
текст ответного сообщения на вывод модуля Replace
!green-bot
4. Запуск и проверка бота#
Для постоянной работы эхо-бота нужно запустить автоматизацию активировав переключатель.
Теперь бот запущен и готов к работе. Его работоспособность можно проверить, написав на номер, привязанный к инстансу. Бот ответит тем же сообщением в ответ.
На этом настройка бота окончена.