Итак, мы продолжим наш последний проект об автоматических ответах с помощью WhatsApp Web JS. В этом случае мы поместим в него Express JS, чтобы сделать его исполняемым через URL-адрес.

для тех, кто не видел мою последнюю историю, вы можете посмотреть ее здесь 👇👇👇



Просто пришла идея, что будет весело, если мы сможем получить доступ к нашему боту WhatsApp через URL. это просто напоминает мне о вещательных компаниях, информирующих родителей об их детях в школе. мы попробуем сделать это сейчас :D

перед этим нам нужно сначала получить экспресс JS. чтобы установить экспресс JS в наш текущий проект, мы можем использовать эту команду.

npm install express

после завершения установки, тогда мы идем снова!! :D

Как видите, мы объединим базовый пример с нашим текущим приложением WhatsApp JS, чтобы заставить его работать вместе. в этом коде вы можете видеть, что метод запроса — GET. поэтому, когда вы получите к нему доступ по URL-адресу, он отправит вам этот ответ

Итак, идея состоит в том, что когда мы выполняем URL-адрес, он отправляет сообщение на указанные номера, на которые мы хотим отправить уведомление WhatsApp. вернуться в приложение WhatsApp. поэтому нам нужно знать, как WhatsApp считывает номер

Получение числового шаблона

whatsapp.on('message', async message => {
 if(message.body === '!ping') {
  message.reply('pong');
 }
});

Как видите, мы используем message.body при получении сообщения от других. Мы можем получить номер отправителя из переменной сообщения

Из этого ответа мы можем сделать вывод, что номер отправителя взят из переменной message.from, чтобы убедиться, что вы можете повторно запустить и запустить console.log переменной. он поставляется с форматом локализации + @c.us за номером, поэтому в образце целевого номера мы можем сделать образцы данных в том же формате, чтобы WhatsApp JS мог распознать номер.

перейдите к следующему шагу, согласно документации WhatsApp Web JS. мы можем использовать эти сценарии для отправки сообщений на целевые номера

client.on('message', message => {
 if(message.body === '!ping') {
  client.sendMessage(message.from, 'pong');
 }
});

Теперь шаблон WhatsApp уже найден, теперь нам нужно сделать целевой набор данных. скажем, это номер родителей, чтобы уведомить их о статусе их детей в школе. вы можете создавать файлы JSON или создавать переменные, содержащие номера родителей. В моем случае мне больше нравится использовать файлы JSON, чем переменные (используйте то, что, по вашему мнению, лучше всего подходит для ваших нужд).

Набор данных родителей

Например, я создаю новый файл parent.json и помещаю номера родителей вот так.

С этим номером мы можем использовать его для отправки родителям уведомлений WhatsApp. вернемся к экспрессу снова :)

Маршруты отправки сообщений

Чтобы сделать его более конкретным, нам нужно отредактировать URL-адрес маршрута, чтобы избежать попадания по неправильному URL-адресу при выполнении задачи. Например, я называю свой маршрут так

app.get('/send-whatsapp-notification', (req, res) => {
    res.send('Done')
})

по этому маршруту нам нужно прочитать наших родителей данных для отправки им уведомлений. обычно я использую модуль fs для чтения файлов JSON. Чтобы установить fs, вы можете использовать эту команду и импортировать fs в свои коды.

npm install fs

После установки прочитайте JSON-файл родителей, чтобы получить их номер в качестве цели.

app.get('/send-whatsapp-notification', (req, res) => {
    var parents = fs.readFileSync('parents.json');
    parents = JSON.parse(parents);

    res.send(parents)
})

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

Объединить маршрут с WhatsApp

В этой части мы зациклим данные массива, которые мы уже создали в родительском JSON-файле. наш номер набора данных является чистым числом, нам нужно сделать его таким же с форматом WhatsApp Web JS, чтобы приложение не получало ошибок при отправке сообщений. согласно предыдущему шагу номер отправителя WhatsApp: [email protected]Вы можете создать новую функцию (если вы вставите другое форматирование в зависимости от вашего местоположения) или просто добавьте разработанный формат к числовой переменной.

app.get('/send-whatsapp-notification', (req, res) => {
    var parents = fs.readFileSync('parents.json');
    parents = JSON.parse(parents);

    for (var i = 0; i < parents.length; i++) {
        var numbers = parents[i].number + '@c.us';
        console.log(numbers)
    }

    res.send(parents)
});

После форматирования чисел пришло время объединить сценарии WhatsApp с маршрутом, чтобы сделать его доступным через URL. мы просто помещаем отформатированный номер в WhatsApp и отправляем сообщение адресату. вот полные скрипты

Когда вы получите к нему доступ через /send-whatsapp-notification, он будет автоматически отправлен на все номера в parent.json. вы также можете просто создать новый ключ (разработанный текст, чтобы бот мог прочитать вашу задачу) и выполнить отправку сообщения, как всегда, в зависимости от ваших потребностей.

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

Спасибо, что прочитали мою историю :D