summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/Rhymen/go-whatsapp/profile.go
diff options
context:
space:
mode:
authorWim <wim@42.be>2022-03-20 02:20:54 +0100
committerWim <wim@42.be>2022-03-20 14:57:48 +0100
commit496d5b4ec7f5f4afae6199f928675d14d18de015 (patch)
tree3a649c80a76f0ffc33e6b3a63c0e65e892169cde /vendor/github.com/Rhymen/go-whatsapp/profile.go
parent2623a412c42a81104b97ae8c81a5f66760fee4b6 (diff)
downloadmatterbridge-msglm-496d5b4ec7f5f4afae6199f928675d14d18de015.tar.gz
matterbridge-msglm-496d5b4ec7f5f4afae6199f928675d14d18de015.tar.bz2
matterbridge-msglm-496d5b4ec7f5f4afae6199f928675d14d18de015.zip
Add whatsappmulti buildflag for whatsapp with multidevice support (whatsapp)
Diffstat (limited to 'vendor/github.com/Rhymen/go-whatsapp/profile.go')
-rw-r--r--vendor/github.com/Rhymen/go-whatsapp/profile.go65
1 files changed, 65 insertions, 0 deletions
diff --git a/vendor/github.com/Rhymen/go-whatsapp/profile.go b/vendor/github.com/Rhymen/go-whatsapp/profile.go
new file mode 100644
index 00000000..5af00f6d
--- /dev/null
+++ b/vendor/github.com/Rhymen/go-whatsapp/profile.go
@@ -0,0 +1,65 @@
+package whatsapp
+
+import (
+ "fmt"
+ "strconv"
+ "time"
+
+ "github.com/Rhymen/go-whatsapp/binary"
+)
+
+// Pictures must be JPG 640x640 and 96x96, respectively
+func (wac *Conn) UploadProfilePic(image, preview []byte) (<-chan string, error) {
+ tag := fmt.Sprintf("%d.--%d", time.Now().Unix(), wac.msgCount*19)
+ n := binary.Node{
+ Description: "action",
+ Attributes: map[string]string{
+ "type": "set",
+ "epoch": strconv.Itoa(wac.msgCount),
+ },
+ Content: []interface{}{
+ binary.Node{
+ Description: "picture",
+ Attributes: map[string]string{
+ "id": tag,
+ "jid": wac.Info.Wid,
+ "type": "set",
+ },
+ Content: []binary.Node{
+ {
+ Description: "image",
+ Attributes: nil,
+ Content: image,
+ },
+ {
+ Description: "preview",
+ Attributes: nil,
+ Content: preview,
+ },
+ },
+ },
+ },
+ }
+ return wac.writeBinary(n, profile, 136, tag)
+}
+
+func (wac *Conn) UpdateProfileName(name string) (<-chan string, error) {
+ tag := fmt.Sprintf("%d.--%d", time.Now().Unix(), wac.msgCount*19)
+ n := binary.Node{
+ Description: "action",
+ Attributes: map[string]string{
+ "type": "set",
+ "epoch": strconv.Itoa(wac.msgCount),
+ },
+ Content: []interface{}{
+ binary.Node{
+ Description: "profile",
+ Attributes: map[string]string{
+ "name": name,
+ },
+ Content: []binary.Node{},
+ },
+ },
+ }
+ return wac.writeBinary(n, profile, ignore, tag)
+}