package bxmpp import ( "github.com/42wim/matterbridge/bridge/config" "github.com/42wim/matterbridge/bridge/helper" "github.com/matterbridge/go-xmpp" ) // handleDownloadAvatar downloads the avatar of userid from channel // sends a EVENT_AVATAR_DOWNLOAD message to the gateway if successful. // logs an error message if it fails func (b *Bxmpp) handleDownloadAvatar(avatar xmpp.AvatarData) { rmsg := config.Message{ Username: "system", Text: "avatar", Channel: b.parseChannel(avatar.From), Account: b.Account, UserID: avatar.From, Event: config.EventAvatarDownload, Extra: make(map[string][]interface{}), } if _, ok := b.avatarMap[avatar.From]; !ok { b.Log.Debugf("Avatar.From: %s", avatar.From) err := helper.HandleDownloadSize(b.Log, &rmsg, avatar.From+".png", int64(len(avatar.Data)), b.General) if err != nil { b.Log.Error(err) return } helper.HandleDownloadData(b.Log, &rmsg, avatar.From+".png", rmsg.Text, "", &avatar.Data, b.General) b.Log.Debugf("Avatar download complete") b.Remote <- rmsg } }