Автор оригинала: 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 сообщений в секунду
- Добавьте черный список, чтобы пропустить определенные номера
- …