Como enviar mensagens de WhatsApp em Node.js via Venom

Node.js

Como enviar mensagens de WhatsApp em Node.js via Venom

Luiz Duarte
Escrito por Luiz Duarte em 16/07/2024
Junte-se a mais de 34 mil devs

Entre para minha lista e receba conteúdos exclusivos e com prioridade

No tutorial de hoje eu vou lhe ensinar como enviar mensagens de WhatsApp usando a API do Venom, um projeto Node.js que se integra ao WhatsApp Web, simulando uso dele e expondo APIs para que você possa criar bots e automações. É importante salientar no entanto que a integração que o Venom faz não é oficial, é considerada “pirata”, então use por sua própria conta e risco. Caso deseje uma integração oficial, saiba que elas são pagas e recomendo a da Twilio, que ensinei a usar neste tutorial.

Independente disso, vale salientar que existem políticas bem rígidas de uso por parte do WhatsApp/Facebook e seus parceiros para o envio de mensagens, como por exemplo o não-uso para marketing, mas somente para mensagens transacionais (avisos sistêmicos) e conversação automatizada (bots). Então fique de olho no seu robô para que ele não cause um bloqueio no seu número por envio e spam.

Vamos ver neste tutorial:

  1. Setup do Projeto
  2. Programando o Envio

Vamos lá!

Curso Node.js e MongoDB

#1 – Setup do Projeto

Vamos criar o projeto Node.js da nossa automação de envio. Se você ainda não tem o Node.js na sua máquina, use o vídeo abaixo.

Comece criando uma pasta para o mesmo e rodando o comando abaixo para configuração do package.json

Agora, instale as seguintes dependências que vamos usar.

Vá no seu package.json e ajuste o script de start para inicializar a aplicação.

Repare que este script de inicialização está apontando para um arquivo index, que ainda não existe, vamos criá-lo como última etapa de setup do projeto.

Pronto, agora você tem uma aplicação Node.js rodando e imprimindo uma mensagem de teste. Teste o projeto com o comando abaixo no terminal de linha de comando.

Se aparecer a mensagem no terminal, você está pronto para continuar.

Livro Node.js

#2 – Setup do Projeto

Agora vamos programar o envio de mensagem de WhatsApp através da nossa aplicação. Para isso, primeiro precisamos iniciar uma sessão de WhatsApp Web utilizando o Venom, com o código abaixo.

Este código importa a biblioteca venom-bot e cria uma sessão com ela. Quando você executar este código no terminal, ele vai inicializar um headless browser (navegador sem interface gráfica) e acessar a URL do WhatsApp Web internamente, extraindo dela o QR Code que será informado no terminal para que você leia com seu app do WhatsApp, como faria no WhatsApp Web tradicional. Sim, você precisa de uma conta no WhatsApp para conseguir enviar mensagens para outros usuários.

Uma vez autenticado com sua conta de WhatsApp, a mensagem “sessão iniciada” deve aparecer, indicando que você conseguiu estabelecer uma sessão com sucesso e está apto a enviar e receber mensagens através do seu bot criado com Venom. Esse processo do QRCode será feito apenas uma vez e você vai ver que uma pasta tokens será criada automaticamente no seu projeto, onde o token de acesso será guardado para que não seja preciso escanear o QRCode de novo em sessões posteriores.

O próximo passo agora é o envio da mensagem, que você pode fazer através de uma função start, como abaixo, que deve ser disparada no “then” da criação de sessão (código anterior).

Nossa função vai esperar um objeto client que representa uma conexão com sua conta de WhatsApp. O Venom expõe nesse objeto client APIs para recebimento e envio de mensagem, sendo que para enviar mensagens de texto basta usar a sendText, que espera dois parâmetros: o destinatário e o conteúdo da mensagem.

Ali onde eu deixei vários “X” você deve informar o número completo de telefone do destinatário da mensagem (DDI+DDD+Número de 9 dígitos), sendo que pode enviar para você mesmo. Supondo que você tenha um número de telefone brasileiro, seria algo como 5551123456789, com 55 sendo o DDI, 51 o DDD (meu estado, RS) e o restante sendo o número em si.

Não esqueça de fazer a chamada dessa função de start no “then” da criação de sessão. Ao executar o projeto novamente, após alguns segundos de inicialização da sessão, o número que você informou na função sendText receberá a mensagem “Hello World”, como abaixo.

Espero que tenha gostado do tutorial!

Quer enviar mensagens via Telegram? Aqui tem tutorial também!

Curso Beholder

TAGS:

Olá, tudo bem?

O que você achou deste conteúdo? Conte nos comentários.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *