Как создать чат-бот для WhatsApp#
24 октября 2024 г.
Создание чат-бота - один из популярных проектов для начинающих программистов. Ранее в статье "Чат-боты WhatsApp для бизнеса: как автоматизация улучшает взаимодействие с клиентами" мы рассказали о том, что такое чат-боты и как их использовать c пользой для бизнеса. В этой статье мы рассмотрим, как создать чат-бота с помощью готовых библиотек от GREEN-API.
Содержание#
1. Выбор задач для чат-бота#
Проектирование - важная часть процесса создания чат-бота. Прежде чем приступить к написанию кода, необходимо сформулировать задачи, разработать логику работы чат-бота и выбрать язык программирования.
Для создания простого чат-бота достаточно любого популярного языка программирования общего назначения. Выбор языка программирования исходит из требований вашего проекта:
- Кроссплатформенность
- Скорость написания кода
- Многопоточность
- Производительность языка программирования
Представим, что вам нужно разработать чат-бот поддержки сервисного центра. После постановки главной задачи можно начать проектировать алгоритм работы программы. Для наглядности используем блок-схему:
Определив основные требования к чат-боту и составив схему его работы, можно перейти к следующему шагу - выбору языка программирования и проектированию функций.
2. Проектирование функций#
Стандартный сценарий работы чат-бота состоит в общении с клиентом, обработке шаблонных запросов, а в случае неудачи - переключении клиента на специалиста поддержки сервисного центра. Часть задач решаются встроенными средствами языка программирования, а часть - с помощью методов для отправки и получения сообщений, файлов, работы с групповыми чатами, получения списка контактов и других методов GREEN-API.
Для работы чат-бота необходимо, чтобы он был подключен к аккаунту WhatsApp. Для этого необходимо создать инстанс и авторизовать его выбранным номером телефона, вы можете сделать это по нашей инструкции. Для разработки и тестирования чат-бота достаточно бесплатного тарифа для разработчиков, а для коммерческого использования у нас есть платный тариф без ограничений.
Для авторизации и передачи данных из личного кабинета понадобятся следующие данные вашего инстанса: apiUrl
, idInstance
и apiTokenInstance
.
После авторизации необходимо написать функцию обработчика сообщений, которые будут приходить через входящие уведомления типа webhook. При получении первого сообщения от нового пользователя, обработчик проверяет данные о пользователе, который отправил сообщение, а затем сохраняет отправителя в свою базу данных. Таким образом ответы будут отправлены конкретному пользователю, а всю переписку можно хранить для обработки специалистами.
Рекомендуем также использовать функцию удаления пользователя из базы данных с ботом через заданное время, чтобы освободить ресурсы для других пользователей.
3. Запуск демонстрационного чат-бота на Golang#
Для демонстрации возможностей чат-ботов запустим демонстрационный чат-бот на Go. Программа наглядно демонстрирует использование сервиса Green-API для отправки текстовых сообщений, файлов, картинок, локаций и контактов. Для тестирования бота вам понадобится два аккаунта WhatsApp. Один аккаунт подключим к инстансу, а второй будем использовать для отправки запроса от "пользователя".
Порядок запуска чат-бота:
-
Установить Golang, если он отсутствует в системе. Скачать и установить стабильный релиз с официального сайта Go.
-
Проверить, что Go был успешно установлен с помощью команды
go version
. В терминале должна быть указана текущая установленная версия Go в форматеgo version goX.X.X
.
>go version go version go1.23.2 windows/amd64
-
Загрузить демонстрационный чат-бот на Golang удобным способом:
- С помощью git выполнив команду
git clone https://github.com/green-api/whatsapp-demo-chatbot-golang
- Загрузив zip-архив проекта нажав на
Code
–Download ZIP
по ссылке репозитория и распаковав его.
- С помощью git выполнив команду
-
Открыть код проекта в редакторе и добавить в
main.go
значенияapiTokenInstance
иidInstance
из личного кабинета GREEN-API.func main() { idInstance := "{idInstance}" authToken := "{authToken}" envFile, err := godotenv.Read("instance.env") if err == nil { if val, exists := envFile["idInstance"]; exists && len(val) > 0 { idInstance = val } if val, exists := envFile["authToken"]; exists && len(val) > 0 { authToken = val } }
-
Для запуска бота выполним команду
go run main.go
.
После запуска чат-бота можно проверить его работу, отправив сообщение на подключенный к инстансу номер WhatsApp. Чат-бот автоматически реагирует на любое сообщение отправленное на аккаунт, направляя в ответ список с выбором языка общения. Дальнейшее взаимодействие происходит путем отправки боту соответствующих команд.
Подробнее про структуру кода и настройку чат-бота вы можете прочесть в документации к GREEN-API Go demo chatbot.
Создание чат-бота для WhatsApp - это увлекательный и перспективный процесс, который сочетает в себе как творческое развитие, так и реальные возможности для заработка. Разработка такого бота позволяет не только получить ценный опыт работы с технологиями, но и выйти на новый уровень взаимодействия с аудиторией, что может привести к стабильному доходу.