Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit d66c53d7e86791806d2943e56b26d4b1dee46ea4 Author: escoand <escoand@users.noreply.github.com> Date: Wed Aug 26 22:27:50 2020 +0000 Handle broadcasts as groups in Whatsapp (#1213) The current way to get the correct JID of a WhatsApp group is to dump all JIDs to the log and grab the right one. This is working for for groups fine but not for broadcast, as they are not print out. According to https://www.npmjs.com/package/@noamalffasy/js-whatsapp we have these possibilities: * Chats: `[country code][phone number]@s.whatsapp.net` * Groups: `[country code][phone number of creator]-[timestamp of group creation]@g.us` * Broadcast Channels: `[timestamp of group creation]@broadcast` But the bridge does currently interprets (and prints) the only second option. diff --git a/bridge/whatsapp/whatsapp.go b/bridge/whatsapp/whatsapp.go index 48b140b..4ca8981 100644 --- a/bridge/whatsapp/whatsapp.go +++ b/bridge/whatsapp/whatsapp.go @@ -1847 +1847 @@ func (b *Bwhatsapp) Disconnect() error {  }    func isGroupJid(identifier string) bool { - return strings.HasSuffix(identifier, "@g.us") || strings.HasSuffix(identifier, "@temp") + return strings.HasSuffix(identifier, "@g.us") || strings.HasSuffix(identifier, "@temp") || strings.HasSuffix(identifier, "@broadcast")  }    // JoinChannel Join a WhatsApp group specified in gateway config as channel='number-id@g.us' or channel='Channel name'