Add/fix sticker bridging in both directions

* Matrix stickers are sent as images
* WhatsApp stickers were missing the incoming event handler

Fixes #124
Fixes #127
Closes #126
Closes #129

Co-authored-by: rafaeltheraven <rafael.dulfer@gmail.com>
This commit is contained in:
Tulir Asokan
2019-12-31 20:17:03 +02:00
parent 4bdbe67c94
commit e056459ab4
5 changed files with 24 additions and 7 deletions

11
user.go
View File

@ -365,9 +365,9 @@ func (user *User) PostLogin() {
go user.intPostLogin()
}
func (user *User) tryAutomaticDoublePuppeting(){
if len(user.bridge.Config.Bridge.LoginSharedSecret) == 0 {
// Automatic login not enabled
func (user *User) tryAutomaticDoublePuppeting() {
if len(user.bridge.Config.Bridge.LoginSharedSecret) == 0 || !strings.HasSuffix(user.MXID, user.bridge.Config.Homeserver.Domain) {
// Automatic login not enabled or user is on another homeserver
return
}
@ -394,7 +394,6 @@ func (user *User) intPostLogin() {
user.createCommunity()
user.tryAutomaticDoublePuppeting()
select {
case <-user.chatListReceived:
user.log.Debugln("Chat list receive confirmation received in PostLogin")
@ -633,6 +632,10 @@ func (user *User) HandleImageMessage(message whatsapp.ImageMessage) {
user.putMessage(PortalMessage{message.Info.RemoteJid, user, message, message.Info.Timestamp})
}
func (user *User) HandleStickerMessage(message whatsapp.StickerMessage) {
user.putMessage(PortalMessage{message.Info.RemoteJid, user, message, message.Info.Timestamp})
}
func (user *User) HandleVideoMessage(message whatsapp.VideoMessage) {
user.putMessage(PortalMessage{message.Info.RemoteJid, user, message, message.Info.Timestamp})
}