go-whatsapp icon indicating copy to clipboard operation
go-whatsapp copied to clipboard

Unable to download Images:

Open byteshiva opened this issue 3 years ago • 4 comments

I get the following error when downloading images.

# command-line-arguments
./main.go:59:13: undefined: whatsapp.ErrMediaDownloadFailedWith410
./main.go:59:62: undefined: whatsapp.ErrMediaDownloadFailedWith404

Source code to handle images: This example has been taken from the examples sections

import (
	"encoding/gob"
	"fmt"
	"log"
	"os"
	"os/signal"
	"strconv"
	"strings"
	"syscall"
	"time"

	qrcodeTerminal "github.com/Baozisoftware/qrcode-terminal-go"
	"github.com/Rhymen/go-whatsapp"
)

//Example for media handling. Video, Audio, Document are also possible in the same way
func (h *waHandler) HandleImageMessage(message whatsapp.ImageMessage) {
	data, err := message.Download()
	if err != nil {
		if err != whatsapp.ErrMediaDownloadFailedWith410 && err != whatsapp.ErrMediaDownloadFailedWith404 {
			return
		}
		if _, err = h.c.LoadMediaInfo(message.Info.RemoteJid, message.Info.Id, strconv.FormatBool(message.Info.FromMe)); err == nil {
			data, err = message.Download()
			if err != nil {
				return
			}
		}
	}

	filename := fmt.Sprintf("%v/%v.%v", os.TempDir(), message.Info.Id, strings.Split(message.Type, "/")[1])
	file, err := os.Create(filename)
	defer file.Close()
	if err != nil {
		return
	}
	_, err = file.Write(data)
	if err != nil {
		return
	}
	log.Printf("%v %v\n\timage received, saved at:%v\n", message.Info.Timestamp, message.Info.RemoteJid, filename)
}

byteshiva avatar Jul 18 '21 12:07 byteshiva

I get the following error when downloading images.

# command-line-arguments
./main.go:59:13: undefined: whatsapp.ErrMediaDownloadFailedWith410
./main.go:59:62: undefined: whatsapp.ErrMediaDownloadFailedWith404

Source code to handle images: This example has been taken from the examples sections

import (
	"encoding/gob"
	"fmt"
	"log"
	"os"
	"os/signal"
	"strconv"
	"strings"
	"syscall"
	"time"

	qrcodeTerminal "github.com/Baozisoftware/qrcode-terminal-go"
	"github.com/Rhymen/go-whatsapp"
)

//Example for media handling. Video, Audio, Document are also possible in the same way
func (h *waHandler) HandleImageMessage(message whatsapp.ImageMessage) {
	data, err := message.Download()
	if err != nil {
		if err != whatsapp.ErrMediaDownloadFailedWith410 && err != whatsapp.ErrMediaDownloadFailedWith404 {
			return
		}
		if _, err = h.c.LoadMediaInfo(message.Info.RemoteJid, message.Info.Id, strconv.FormatBool(message.Info.FromMe)); err == nil {
			data, err = message.Download()
			if err != nil {
				return
			}
		}
	}

	filename := fmt.Sprintf("%v/%v.%v", os.TempDir(), message.Info.Id, strings.Split(message.Type, "/")[1])
	file, err := os.Create(filename)
	defer file.Close()
	if err != nil {
		return
	}
	_, err = file.Write(data)
	if err != nil {
		return
	}
	log.Printf("%v %v\n\timage received, saved at:%v\n", message.Info.Timestamp, message.Info.RemoteJid, filename)
}

i think the problem is in your pc. try reinstall the go-whatsapp.

mine working as well

akbarfa49 avatar Jul 19 '21 06:07 akbarfa49

Im able to download messages but not image attachment.

Im thinking is it because of proxy server I had put in my machine to remove ads.

I understand the requests are routed via headless chrome web socket connection.

Let me try disable proxy server or add proxy and try download images.

byteshiva avatar Jul 19 '21 14:07 byteshiva

Im able to download messages but not image attachment.

Im thinking is it because of proxy server I had put in my machine to remove ads.

I understand the requests are routed via headless chrome web socket connection.

Let me try disable proxy server or add proxy and try download images.

what ur go-whatsapp version now? it must be the lastest v0.1.1

akbarfa49 avatar Jul 19 '21 15:07 akbarfa49

I'm using v0.1.1, it worked after commenting

// if err != whatsapp.ErrMediaDownloadFailedWith410 && err != whatsapp.ErrMediaDownloadFailedWith404 {
// 	fmt.Printf("%v\n", err)
// 	return
// }

byteshiva avatar Jul 20 '21 11:07 byteshiva