Перейти к содержанию

Как создать чат-бот для WhatsApp#

24 октября 2024 г.

How to create a WhatsApp chatbot

Создание чат-бота - один из популярных проектов для начинающих программистов. Ранее в статье "Чат-боты WhatsApp для бизнеса: как автоматизация улучшает взаимодействие с клиентами" мы рассказали о том, что такое чат-боты и как их использовать c пользой для бизнеса. В этой статье мы рассмотрим, как создать чат-бота с помощью готовых библиотек от GREEN-API.

Содержание#

  1. Выбор задач для чат-бота
  2. Проектирование функций
  3. Запуск демонстрационного чат-бота на Golang

1. Выбор задач для чат-бота#

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

Для создания простого чат-бота достаточно любого популярного языка программирования общего назначения. Выбор языка программирования исходит из требований вашего проекта:

  • Кроссплатформенность
  • Скорость написания кода
  • Многопоточность
  • Производительность языка программирования

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

Scheme chatbot

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

2. Проектирование функций#

Стандартный сценарий работы чат-бота состоит в общении с клиентом, обработке шаблонных запросов, а в случае неудачи - переключении клиента на специалиста поддержки сервисного центра. Часть задач решаются встроенными средствами языка программирования, а часть - с помощью методов для отправки и получения сообщений, файлов, работы с групповыми чатами, получения списка контактов и других методов GREEN-API.

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

Для авторизации и передачи данных из личного кабинета понадобятся следующие данные вашего инстанса: apiUrl, idInstance и apiTokenInstance.

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

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

3. Запуск демонстрационного чат-бота на Golang#

Для демонстрации возможностей чат-ботов запустим демонстрационный чат-бот на Go. Программа наглядно демонстрирует использование сервиса Green-API для отправки текстовых сообщений, файлов, картинок, локаций и контактов. Для тестирования бота вам понадобится два аккаунта WhatsApp. Один аккаунт подключим к инстансу, а второй будем использовать для отправки запроса от "пользователя".

Порядок запуска чат-бота:

  1. Установить Golang, если он отсутствует в системе. Скачать и установить стабильный релиз с официального сайта Go.

  2. Проверить, что Go был успешно установлен с помощью команды go version. В терминале должна быть указана текущая установленная версия Go в формате go version goX.X.X.

    >go version  
    go version go1.23.2 windows/amd64  
    

  3. Загрузить демонстрационный чат-бот на Golang удобным способом:

    • С помощью git выполнив команду git clone https://github.com/green-api/whatsapp-demo-chatbot-golang
    • Загрузив zip-архив проекта нажав на CodeDownload ZIP по ссылке репозитория и распаковав его.
  4. Открыть код проекта в редакторе и добавить в 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
                    }
            }
    
  5. Для запуска бота выполним команду go run main.go.

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

Message from WhatsApp chatbot 1

Подробнее про структуру кода и настройку чат-бота вы можете прочесть в документации к GREEN-API Go demo chatbot.

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