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

Получение уведомлений в чат-ботах на Golang#

Установка#

Перед началом необходимо установить библиотеку и инициировать бота, подробно этот процесс описан здесь: Как импортировать библиотеку и инициировать своего бота.

Как получать другие уведомления и обрабатывать тело уведомления#

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

Ссылка на пример: event.go.

package event

import cb "github.com/green-api/whatsapp_chatbot_golang"

type StartScene struct {
}

func (s StartScene) Start(bot *cb.Bot) {
    bot.IncomingMessageHandler(func(notification *cb.Notification) {
        //Логика обработки входящих сообщений
    })

    bot.OutgoingMessageHandler(func(notification *cb.Notification) {
        //Логика обработки исходящих сообщений
    })

    bot.OutgoingMessageStatusHandler(func(notification *cb.Notification) {
        //Логика обработки статусов исходящих сообщений
    })

    bot.IncomingBlockHandler(func(notification *cb.Notification) {
        //Логика обработки блокировок чатов
    })

    bot.IncomingCallHandler(func(notification *cb.Notification) {
        //Логика обработки входящих звонков
    })

    bot.DeviceInfoHandler(func(notification *cb.Notification) {
        //Логика обработки вебхуков о статусе устройства
    })

    bot.StateInstanceChangedHandler(func(notification *cb.Notification) {
        //Логика обработки вебхуков о смене статуса инстанса
    })
}

Список примеров#

Описание Ссылка на пример
Как инициализировать обработчик base.go
Как инициализировать сцену baseScene.go
Сцена "Эхо" echo.go
Как получать другие типы уведомлений event.go
Как фильтровать входящие сообщения filter.go
Как работать с состоянием бота state.go
Пример готового чат бота full.go