NOTÍCIAS

[ANONYMOUS][grids]

Whatsapp Automation - A Collection Of Tools For Sending And Recieving Whatsapp Messages

O Whatsapp Automation é uma coleção de APIs que interagem com o WhatsApp Messenger em execução em um emulador Android, permitindo que desenvolvedores criem projetos que automatizam o envio e recebimento de mensagens, adicionando novos contatos e mensagens de broadcast a múltiplos contatos.
O projeto usa o Emulador de Dispositivo Virtual Selinium, Appium, Python e Android.


Vídeo de demonstração:


Requisitos:
  1. Java
  2. Configuração do Android Studio & Android Emulator com a versão mais recente do Android
  3. Appium Server para interagir com o emulador
  4. ambiente python para executar o Flask
  5. RabbitMQ para manter o sistema de filas para solicitações recebidas

Configuração: 

[Configuração]
Edite o arquivo configs / dev.cfg com suas credenciais mysql, credenciais RabbitMQe nomes de fila criados. Nomes de filas precisam ser criados antes da execução.
  1. Crie uma fila com o nome apropriado.
  2. Crie o Exchange com o nome apropriado.
  3. Vincule o Exchange com o Queue e faça a chave de roteamento no formato (queue_name. *) E troque no formato (queue_name.exchange)

Em anexo estão a captura de tela para referência:


Depois que a configuração estiver concluída, veja as etapas para execução
  1. Faça uma virtulenv para o seu projeto
  2. Depois de ter ativado seu virtualenv, instale as dependências com o comando (pip install -r whatsapp_pip_requirement.txt)
  3. Agora você precisa iniciar o emulador primeiro via linha de comando (./Android/Sdk/emulator/emulator -avd pixel_1). pixel_1 é meu nome de avd
  4. Você precisa iniciar o servidor appium com recursos padrão definidos como ("noReset" = "true")
  5. Assim que o Emulador e o Appium estiverem em execução, agora você executará o arquivo principal app.py.
  6. Especifique o ambiente digitando (exportar ENV = dev) no terminal, para que dev.cfg seja lido para configuração.
  7. Digite (python app.py) para executar o aplicativo principal do flask
  8. Agora, da mesma forma, abra novas guias, ative o env virtual e exporte o ambiente de desenvolvimento. Em seguida, execute (python single_message_producer.py). Consumidor RabbitMQ para ouvir fila única mensagem.
  9. (python add_new_contact_producer.py) (python broadcast_message_producer.py) (python new_message_listener_producer.py)
Agora, neste ponto, você tem o Emulador Virtual do Android em execução, o Appium em execução, o Flask em execução e o coelho MQ com os trabalhadores em execução. 
Pela primeira vez você precisará configurar o Whatsapp manualmente com algum número de celular com o qual ele estará enviando mensagens. Você precisa verificar o OTP para Whatsapp e apenas configurá-lo para uso. 
Agora aqui estão as Apis expostas por este projeto com o qual tudo será automatizado. 

Adicionando contato no Google Contacts
URL : http://127.0.0.1:5000/api/v0.1/add_new_contact
TYPE : POST
HEADERS :
Content-Type:application/json
BODY :
{"mobile_number":"+91 XXXXX XXXXX","emulator_name":"pixel_1"}
RESPONSE :
{ "corr_id": "767ae095-0066-49fb-b955-063286ceed1e", "message": "Singal received for Adding Contact", "status": "1" }

Envio de mensagem única via
URL : http://127.0.0.1:5000/api/v0.1/send_single_message
TYPE: POST
HEADERS :
Content-Type:application/json
BODY :
{"mobile_number":"+91 XXXXX XXXXX","emulator_name":"pixel_1","message_body":"Hi Mayank! How have you been, its been years since we talked."}
Response :
{ "corr_id": "78f21f25-b781-4312-87e5-ebcd73e9b67e", "message": "Singal received for sending message", "status": "1" }

Envio de mensagem de difusão via Whatsapp
URL : http://127.0.0.1:5000/api/v0.1/send_broadcast_message
TYPE : POST

Content-Type:application/json
BODY :
{"mobile_number_list":["+91 XXXXX XXXXX","+91 XXXXX XXXXX"],"emulator_name":"pixel_1","message_body":"Hey guys! Enjoy the game!"}
RESPONSE :
{ "corr_id": "ea8894c1-8193-46de-8269-033060135791", "message": "Singal received for sending message", "status": "1" }

Ouvir nova mensagem de entrada via Whatsapp
URL : http://127.0.0.1:5000/api/v0.1/listen_new_message
TYPE : POST
HEADERS:
Content-Type:application/json
BODY :
{"special_code":"e3gi8d2i8d2382@@#"}

{ "corr_id": "a2952cc1-0703-4362-9740-88ede47391cb", "message": "Singal received for listening message", "status": "1" }

Pontos a serem lembrados:

  1. Versão do Android e WhatsApp versão precisa ser cuidado porque o código é escrito específico para versões. você pode ir para a pasta workers e editar os arquivos de acordo para alterar sua versão de plataforma e classe de atividade. Como o código atual tem: desired_caps desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '9' desired_caps['deviceName'] = 'emulator-5554' desired_caps['appPackage'] = 'com.whatsapp' desired_caps['appActivity'] = '.Main'

Nota: Esta é apenas uma Demonstração Experimental que não se destina a violar quaisquer Termos e Condições do Whatsapp