wppconnect-team / WPP4Delphi

WPP4Delphi is an open-source project with the aim of exporting functions from WhatsApp Web for Delphi, which can be used to support the creation of any interaction.
Apache License 2.0
187 stars 61 forks source link

Erro ao enviar Imagem para um contato sem interação anterior #79

Closed fabiogrezende closed 2 months ago

fabiogrezende commented 2 months ago

Boa tarde,

Primeiramente parabéns pelo componente!

estou tendo problema para enviar imagem ou imagem+texto para um número que ainda não tem interação. Testei SendFileMessageNew e SendFileMessageEx.

Se não enviar imagem e utilizar o SendTextMessageNew funciona perfeitamente.

Só para reforçar, se o envio for feito para um contato que já teve alguma interação funciona normalmente.

marcelo386 commented 2 months ago

Adicione o createChat: true no options como o exemplo abaixo

  options :=
    ' createchat: true, ' +
    ' type: "image", ' +
    ' caption: "' + caption + '",  ' +
    ' isViewOnce: false  '; //Temporaria Somente 1 Visualização

  frDemo.TWPPConnect1.SendFileMessageNew(ed_num.text, LBase64.Text, options, '123');
fabiogrezende commented 2 months ago

Me desculpe por não ter passado todas as informações, mas eu já havia feito isto e o erro continua. incluí no próprio Demo na procedure do btnImagem e apresenta o erro.

Error: Chat not found for XXXXXXXXXX@c.us

marcelo386 commented 2 months ago

No Demo está sem o createChat: true Passa o número que vc testou oculta só os 2 últimos digitos, vc informou o ddi 55

fabiogrezende commented 2 months ago

sim, eu acrescentei createChat: true no demo o número que estou usando para testar é este, 5532982650XX (um numero de um zap daqui da empresa que nunca interagi)

  options :=
    ' createchat: true, ' +
    ' type: "image", ' +
    ' caption: "' + caption + '",  ' +
    ' isViewOnce: false  '; //Temporaria Somente 1 Visualização

  frDemo.TWPPConnect1.SendFileMessageNew(ed_num.text, LBase64.Text, options, '123');
fabiogrezende commented 2 months ago

Boa tarde Marcelo!

Conseguiu simular aí? realmente não está dando certo aqui.

marcelo386 commented 2 months ago

O problema deve estar no seu base64, vc está passando o DataURI Igual a função presente no Demo

marcelo386 commented 2 months ago
    OpenDialog1.Execute;
    Image1.Picture.LoadFromFile(OpenDialog1.FileName);
    lblCaminhoImagem.Caption := OpenDialog1.FileName;
    LBase64.text  := ImageToBase64( Image1 ) ;
    LBase64.text := StrExtFile_Base64Type( ExtractFileName(OpenDialog1.FileName) ) + LBase64.text;  //add DataURI
    memo1.clear;
    memo1.Text    := LBase64.text ;

    Manda Mensagem no nosso Grupo, fica mais fácil pra te ajudar
    Link do grupo: https://chat.whatsapp.com/HzLflMQVjOPK9bpjzlxcMO