Для отправки сообщений в мессенджер WhatApp из командной строки можно воспользоваться консольным клиентом Mudslide. Чаще всего такая необходимость возникает, когда вам нужно получить оповещение от скрипта или системы мониторинга.
Mudslide
(https://github.com/robvanderleek/mudslide) основан на JavaScript библиотеке Baileys, позволяющей использовать подключаться к API WhatsApp Web с использованием WebSocket.В этой статье, мы покажем, как использовать Mudslide для отправки сообщений в WhatApp из командной строки или консоли PowerShell в Windows. Для использования Mudslide на компьютере должен быть уставлен фреймворк Node.js с менеджером пакетов NPM, а также клиент Git (или можно скачать котовый скомпилированный файл).
- Установка Node.js с NPM в Windows описана тут.
- Установить Git можно с помощью MSI установщика (https://git-scm.com/download/win) или с помощью WinGet:
winget install --id Git.Git -e --source winget
Установите пакет Mudslide с зависимостями из репозитория node.js:
npm install -g mudslide
Для запуска Mudslide из командной строки используется утилита npx (позволяет запускать npm пакеты из командной строки).
Чтобы вывести доступные консольные опции для утилиты mudslide, выполните:
npx mudslide -v
Чтобы mudslide могла отправлять сообщения от вашего имени в мессенджер WhatsApp, нужно выполнить авторизацию компьютера. Выполните команду:
npx mudslide login
В консоли появится QR код, который нужно отсканировать из приложения WhatsApp на вашем смартфоне (Settings -> Linked Devices -> Link a device).
Если авторизация прошла успешна, в консоли появится надпись
Success : Logged in.
Для отправки тестового сообщения себе в WhatsApp, выполните:
npx mudslide send me "Hello World"
Отправить сообщение на произвольный адрес WhatsApp по номеру телефона:
npx mudslide send 79123456789 "Hello World"
[email protected]
(вывести список групп/чатов:
npx mudslide groups
).Если нужно разбить сообщение на строки, добавьте в строку перевод строки с помощью управляющих символов \n:
npx mudslide send 79123456789 "Hello\nWorld"
Отправить в WhatsApp изображение (PNG, JPG, GIF):
npx mudslide send-image 79123456789 C:\temp\image123.jpg
Вложить в сообщение файл:
npx mudslide send-file 79123456789 C:\temp\scan.pdf
Отправить GPS координаты:
npx mudslide@latest send-location me 55.752121 37.617664
Отправить сообщение в группу:
npx mudslide send-group 12345678910123456 "Hello"
Проверить статус авторизации клиента mudslide:
npx mudslide me
Завершить сессию Mudslide и удалить сохраненные учетные данные для подключения к WhatsApp:
npx mudslide logout
Также можно использовать готовые скомпилированные версии Mudslide, доступные для загрузки на GitHub. Например, чтобы запустить Mudslide клиент в Linux, скачайте исполняемый файл:
$ wget https://github.com/robvanderleek/mudslide/releases/download/0.29.3/mudslide-linuxstatic-x64
$ chmod +x mudslide-linuxstatic-x64
$ mv mudslide-linuxstatic-x64 /usr/local/bin/mudslide
Чтобы использовать клиент Mudslide для отправки сообщений, например из Zabbix, выполните аутентификацию в WhatsApp от этого пользователя:
$ sudo -u zabbix mudslide -c /tmp/mudslide-cache login
Таким образом, вы сможете отправлять сообщения в WhatsApp без использования браузера или фреймворка Selenium прямо из ваших скриптов или системы мониторинга.