Получение уведомлений в чат-ботах на 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 |