From 4091b6f6b4fe01876f8720332675f9c69be39541 Mon Sep 17 00:00:00 2001 From: Wim Date: Sun, 30 May 2021 00:25:30 +0200 Subject: Update vendor (#1498) --- vendor/github.com/Rhymen/go-whatsapp/handler.go | 42 +++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) (limited to 'vendor/github.com/Rhymen/go-whatsapp/handler.go') diff --git a/vendor/github.com/Rhymen/go-whatsapp/handler.go b/vendor/github.com/Rhymen/go-whatsapp/handler.go index 4f8ef858..1e447018 100644 --- a/vendor/github.com/Rhymen/go-whatsapp/handler.go +++ b/vendor/github.com/Rhymen/go-whatsapp/handler.go @@ -97,6 +97,22 @@ type ContactMessageHandler interface { HandleContactMessage(message ContactMessage) } +/* +The ProductMessageHandler interface needs to be implemented to receive product messages dispatched by the dispatcher. +*/ +type ProductMessageHandler interface { + Handler + HandleProductMessage(message ProductMessage) +} + +/* +The OrderMessageHandler interface needs to be implemented to receive order messages dispatched by the dispatcher. +*/ +type OrderMessageHandler interface { + Handler + HandleOrderMessage(message OrderMessage) +} + /* The JsonMessageHandler interface needs to be implemented to receive json messages dispatched by the dispatcher. These json messages contain status updates of every kind sent by WhatsAppWeb servers. WhatsAppWeb uses these messages @@ -301,7 +317,7 @@ func (wac *Conn) handleWithCustomHandlers(message interface{}, handlers []Handle } } } - + case BatteryMessage: for _, h := range handlers { if x, ok := h.(BatteryMessageHandler); ok { @@ -312,7 +328,7 @@ func (wac *Conn) handleWithCustomHandlers(message interface{}, handlers []Handle } } } - + case Contact: for _, h := range handlers { if x, ok := h.(NewContactHandler); ok { @@ -324,6 +340,28 @@ func (wac *Conn) handleWithCustomHandlers(message interface{}, handlers []Handle } } + case ProductMessage: + for _, h := range handlers { + if x, ok := h.(ProductMessageHandler); ok { + if wac.shouldCallSynchronously(h) { + x.HandleProductMessage(m) + } else { + go x.HandleProductMessage(m) + } + } + } + + case OrderMessage: + for _, h := range handlers { + if x, ok := h.(OrderMessageHandler); ok { + if wac.shouldCallSynchronously(h) { + x.HandleOrderMessage(m) + } else { + go x.HandleOrderMessage(m) + } + } + } + case *proto.WebMessageInfo: for _, h := range handlers { if x, ok := h.(RawMessageHandler); ok { -- cgit v1.2.3