wppconnect-team / wa-js

WPPConnect/WA-JS is an open-source project with the aim of exporting functions from WhatsApp Web
https://wppconnect.io/wa-js/
Apache License 2.0
400 stars 129 forks source link

Opção para desativar geração de thumb pelo wa-js-api-server no endpoint semd-message #1315

Closed GMUNDI closed 1 year ago

GMUNDI commented 1 year ago

Para evitar os erros de geração de thumbs no envio de mensagem do tipo texto, passo parâmetros adicionais no payload do endpoint send-message. Com isto consigo enviar exatamente o thumb que quero, sempre enviando em tamanho grande. Mas mesmo assim no envio continua gerando a thumb quando o endpoint send-message é requisitado. Quando o server de thumb selecionado para gerar a miniatura está fora do ar ou com lentidão, há muita demora no envio, mas que não está relacionado com o envio em si. Além disto, por vezes dá timeout. E em alguma vezes que dá timeout a mensagem é enviada mas não retorna a informação de success no json, mas de timeout. A ideia é realmente poder definir a cada envio se usará o gerador de thumb ou não, ou até mesmo ao identificar que foi passado parâmetros no payload para o envio da thumb, não requisitar do server de thumb.

edgardmessias commented 1 year ago

You can pass the message option {linkPreview: false}

Read more: https://wppconnect.io/wa-js/interfaces/chat.LinkPreviewOptions.html

GMUNDI commented 1 year ago

Boa noite. Acredito que não fui claro ao relatar a sugestão. Se passar linkPreview: false não vai gerar o thumb. Mas a ideia é, como eu mesmo gero o thumb via programação e passo no options como base64, desativar a tentativa de geração de thumb pela API, mas podendo enviar o meu base64, titel e description.

edgardmessias commented 1 year ago

Sim, você foi claro, você pode passar as opções manualmente também nessa mesma opção, em vez de false, passe o objeto com as opções.

linkPreview?: boolean | {
    canonicalUrl?: string;
    description?: string;
    doNotPlayInline: boolean;
    matchedText?: string;
    richPreviewType?: number;
    thumbnail?: string;
    title?: string;
}

Boa noite. Acredito que não fui claro ao relatar a sugestão. Se passar linkPreview: false não vai gerar o thumb. Mas a ideia é, como eu mesmo gero o thumb via programação e passo no options como base64, desativar a tentativa de geração de thumb pela API, mas podendo enviar o meu base64, titel e description.

GMUNDI commented 1 year ago

Que ótimo. MAs pelo que percebi, mesmo quando passo os parâmetros no linkPreview com os dados de thumbnail, o sistema parece necessitar de executar uma chamada ao server de thumb. Neste caso, se houver algum erro no servidor de Link Preview ou se ele estiver com lentidão, não envia ou demora o envio. Inclusive fiz testes neste sentido. Com a atualização do wppconnect-server (uso o server) com a opção de definir no config.ts quais os servers de thumb ajuda bastante, mas se eu quiser usar thumb e dados personalizados, diferentes do que está no link, ainda assim vai chamar o server de thumb.