wppconnect-team / wppconnect

WPPConnect is an open source project developed by the JavaScript community with the aim of exporting functions from WhatsApp Web to the node, which can be used to support the creation of any interaction, such as customer service, media sending, intelligence recognition based on phrases artificial and many other things, use your imagination
https://wppconnect.io
Other
1.92k stars 339 forks source link

Um messageId incorreto é retornado nas funções de enviar mensagens para um contato novo. #364

Closed claudioscarpafilho closed 3 years ago

claudioscarpafilho commented 3 years ago

Description

Quando eu faço o envio de uma mensagem de qualquer tipo para um chatId novo, o messageId retornado não é daquela mensagem que eu acabei de enviar. Aparentemente ele retorna o chatId daquele aviso de criptografia do WhatsApp ("Messages are end-to-end encrypted. No one outside of this chat, not even WhatsApp, can read or listen to them. Click to learn more.").

O messageId das mensagens de saída normalmente tem 20 caracteres. Exemplo: true_XXXXXXXXXXXX@c.us_3EB0199A7A0A4A415A6E

Quando é a primeira mensagem enviada para aquele chatId o messageId retornado tem 32 caracteres. true_XXXXXXXXXXXXX@c.us_58F384982E7F6752RB709B39B54536E3

Quando eu pego esse messageId e jogo na função getMessageById o objeto retornado é:

{ "id": "true_XXXXXXXXXXXXX@c.us_58F384982E7F6752RB709B39B54536E3", "type": "e2e_notification", "subtype": "encrypt", "t": 1627399536, "notifyName": "", "from": "XXXXXXXXXXXX@c.us", "to": "XXXXXXXXXXXX@c.us", "self": "in", "ack": 0, "invis": true, "star": false, "isFromTemplate": false, "mentionedJidList": [], "isVcardOverMmsDocument": false, "templateParams": [], "isForwarded": false, "labels": [], "productHeaderImageRejected": false, "isDynamicReplyButtonsMsg": false, "isMdHistoryMsg": false }

Como eu uso o messageId para atualizar o ACK das mensagens, a primeira mensagem que eu envio para um contato eu nunca consigo atualizar o ACK porque o messageId que vem no ACK não bate com o messageId retornado pela função sendMessage();

Environment

edgardmessias commented 3 years ago

Detectei o problema aqui, estou vendo para resolver e também funcionar no BETA (multidevice)