Whatsapp Automation для отправки и получения сообщений

Whatsapp Automation — это набор API-интерфейсов, которые взаимодействуют с мессенджером WhatsApp, работающим в эмуляторе Android, позволяя разработчикам создавать проекты, автоматизирующие отправку и получение сообщений, добавление новых контактов и трансляцию сообщений нескольким контактам.

В проекте используются эмулятор виртуальных устройств Selinium, Appium, Python и Android.

Демо-видео

WhatsApp Automation Demo Video

Требования:

  1. java
  2. Настройка Android Studio и Android Emulator с последней версией Android
  3. Appium Server для взаимодействия с эмулятором
  4. среда Python для запуска Flask
  5. RabbitMQ для поддержки системы очередей для входящих запросов

Настройка:

[Конфигурация]

Отредактируйте файл configs/dev.cfg, указав свои учетные данные mysql, учетные данные RabbitMQ и имена очередей.

Имена Queue  должны быть созданы до запуска.

Создайте Queue с соответствующим именем.
Создайте Exchange с соответствующим именем.
Свяжите Exchange с Queue и создайте ключ маршрутизации в формате (queue_name. *)

И Exchangе в формате (queue_name.exchange)

Прикрепленные скриншоты для справки:

После завершения настройки, вот шаги для запуска

Сделайте virtulenv для вашего проекта
После того, как вы активировали свой virtualenv, установите зависимости с помощью команды (pip install -r whatsapp_pip_requirement.txt)
Теперь вам нужно сначала запустить эмулятор с помощью командной строки (./Android/Sdk/emulator/emulator -avd pixel_1). pixel_1 — мое авд
Вам необходимо запустить сервер Appium с установленными по умолчанию возможностями («noReset» = «true»)
Когда эмулятор и Appium будут запущены, теперь вы запустите основной файл app.py.
Укажите среду, набрав (export ENV = dev) в терминале, чтобы dev.cfg читался для конфигурации.
Введите (python app.py) для запуска основного приложения колбы
Теперь аналогичным образом откройте новые вкладки, активируйте виртуальную среду и экспортируйте среду разработки. Затем запустите (python single_message_producer.py).  RabbitMQ для прослушивания одной очереди сообщений.
(python add_new_contact_producer.py) (python broadcast_message_producer.py) (python new_message_listener_producer.py)

Теперь у вас есть работающий виртуальный эмулятор Android, запущенный Appium, Flask и Rabbit MQ

В первый раз вам нужно будет вручную настроить WhatsApp, указав номер мобильного телефона, с которого он будет отправлять сообщения.

Вам нужно проверить OTP для WhatsApp и просто настроить его для использования.

Теперь вот Apis, представленный этим проектом, с помощью которого все будет автоматизировано.

Добавление контакта в приложение 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” }

Отправка одного сообщения через WhatsApp

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” }

Отправка широковещательного сообщения через WhatsApp

URL : http://127.0.0.1:5000/api/v0.1/send_broadcast_message

TYPE : POST

HEADERS :

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” }

Прием нового входящего сообщения через 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@@#”}

RESPONSE :

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

Заметка

О версии Android и версии WhatsApp необходимо позаботиться, потому что код написан специально под версии.

Вы можете перейти в рабочую папку и соответственно редактировать файлы, чтобы изменить версию платформы и класс активности.

Как и в текущем коде: selected_caps [‘platformName’] = ‘Android’ required_caps [‘platformVersion’] = ‘9’ wanted_caps [‘deviceName’] = ’emulator-5554 ′ wanted_caps [‘ appPackage ‘] =’ com.whatsapp ‘required_caps [‘appActivity’] = ‘.Main’

Примечание: это всего лишь экспериментальная демонстрация, которая не предназначена для аннулирования каких-либо положений и условий WhatsApp.

 

cryptoparty

Cryptography is typically bypassed, not penetrated.

Whatsapp Automation для отправки и получения сообщений: 1 комментарий

  • 15.02.2019 в 02:24
    Permalink

    спасибо,
    хороший материал!

    Ответ

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40