Автор оригинала: Roel Vaneyghen.
В этом посте мы научимся программно отправлять текстовые сообщения с помощью собственного смартфона Android. Большинство телефонных планов имеют бесплатные 1000+ сообщений в месяц. Я использовал этот сценарий дешево уведомить посетителей моего мероприятия (100 человек).
Вам нужно бесплатное приложение для Android под названием REST SMS Gateway Отказ После установки и запуска приложение покажет локальный IP и порт вашего смартфона, например. http://192.168.0.221:8080.
- Запустите пустой проект Node.js, запустив
NPM init -f
Отказ - Установите Axios Пакет, который мы будем использовать для упрощения наших вызовов отдыха:
NPM Установка Axios --save
Отказ - Создать файл
sendsms.js
и добавить этот код:
// Set up axios do do REST calls const axios = require('axios').create({ baseURL: 'http://192.168.0.221:8080' // TODO: add the IP address from the first step }) // This part is responsible for sending messages to a given phone number module.exports = async (toPhoneNr, message) => { // this request will be handled by a small server (the app you've installed) on our phone const response = await axios.get(`/v1/sms/send?phone=${toPhoneNr}&message=${message}`); return { message, toPhoneNr }; }
- Создать файл
index.js
и импортировать и вызывать вышеуказанную функцию.
const sendSms = require('./sendSms.js'); // send a text message sendSms('0484490815', 'Do you copy?');
- Запустите этот скрипт:
Узел index.js.
- Напишите дополнительный тест, чтобы проверить формат номера телефона
- Ограничить количество символов
- Добавить попытки … Catch Block В случае, если ошибка брошена
- Добавьте список телефонных номеров (например, JSON) и петли над ними, чтобы отправить текстовое сообщение всем
- Массовые текстовые сообщения дроссельной заслонки, смартфоны не смогут отправлять 1000 сообщений в секунду
- Добавьте черный список, чтобы пропустить определенные номера
- …