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