diff options
author | Wim <wim@42.be> | 2019-06-13 22:37:31 +0200 |
---|---|---|
committer | Wim <wim@42.be> | 2019-06-14 00:02:32 +0200 |
commit | ce7b749fd54be871ce62934fca7978b165809e87 (patch) | |
tree | a586345061cd3c48dd97dd81ac12141f716a212e /vendor/github.com/Rhymen/go-whatsapp/store.go | |
parent | 6617bd6609993ab70798647620dfbbcff523347e (diff) | |
download | matterbridge-msglm-ce7b749fd54be871ce62934fca7978b165809e87.tar.gz matterbridge-msglm-ce7b749fd54be871ce62934fca7978b165809e87.tar.bz2 matterbridge-msglm-ce7b749fd54be871ce62934fca7978b165809e87.zip |
Update github.com/Rhymen/go-whatsapp vendor. Fixes #843
Diffstat (limited to 'vendor/github.com/Rhymen/go-whatsapp/store.go')
-rw-r--r-- | vendor/github.com/Rhymen/go-whatsapp/store.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/github.com/Rhymen/go-whatsapp/store.go b/vendor/github.com/Rhymen/go-whatsapp/store.go index b1c46e4a..994d0581 100644 --- a/vendor/github.com/Rhymen/go-whatsapp/store.go +++ b/vendor/github.com/Rhymen/go-whatsapp/store.go @@ -7,6 +7,7 @@ import ( type Store struct { Contacts map[string]Contact + Chats map[string]Chat } type Contact struct { @@ -16,9 +17,19 @@ type Contact struct { Short string } +type Chat struct { + Jid string + Name string + Unread string + LastMessageTime string + IsMuted string + IsMarkedSpam string +} + func newStore() *Store { return &Store{ make(map[string]Contact), + make(map[string]Chat), } } @@ -43,3 +54,27 @@ func (wac *Conn) updateContacts(contacts interface{}) { } } } + +func (wac *Conn) updateChats(chats interface{}) { + c, ok := chats.([]interface{}) + if !ok { + return + } + + for _, chat := range c { + chatNode, ok := chat.(binary.Node) + if !ok { + continue + } + + jid := strings.Replace(chatNode.Attributes["jid"], "@c.us", "@s.whatsapp.net", 1) + wac.Store.Chats[jid] = Chat{ + jid, + chatNode.Attributes["name"], + chatNode.Attributes["count"], + chatNode.Attributes["t"], + chatNode.Attributes["mute"], + chatNode.Attributes["spam"], + } + } +} |