mirror of
https://github.com/42wim/matterbridge
synced 2024-11-17 03:26:07 +00:00
66 lines
1.4 KiB
Go
66 lines
1.4 KiB
Go
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)
|
|
}
|