Сьогодні День закоханих! ?
Як добре було б, якби ви щогодини відправляли романтичне повідомлення коханій людині? Але ще краще ...
Наскільки чудово було б зробити це автоматично за допомогою сценарію Node.js? Ми зрештою ... програмісти, так? ?
У цьому короткому підручнику я покажу вам, як це зробити.
PS Для ледачих, ось відео-підручник:
Створіть роботу CRON
По-перше, нам потрібно створити завдання CRON, яке запускатиме функцію щогодини.
Для цього давайте встановимо node-cron
пакет у наш додаток NodeJS:
npm install node-cron
Далі ми плануємо виконувати функцію щогодини:
const cron = require('node-cron'); cron.schedule('0 * * * *', () => { sendMessage(); });
Ідеально У нас ще немає sendMessage()
функції, але ми створимо її пізніше.
Крім того, якщо ви не знаєте, як працює рядок CRON, ось чудовий веб-сайт, де ви можете його перевірити.
В основному '0 * * * *'
означає:, Run every hour at 0 minutes
тому він буде виконуватися за адресою:, 00:00, 01:00, 02:00
тощо ... Ви зрозуміли суть!
Підключіться до Twilio
Нам потрібен рахунок Twilio, тож перейдіть до Twilio.com і створіть його. Вам потрібно підтвердити свою електронну адресу, а також номер, на який ви хочете надіслати повідомлення. (Мені довелося "вкрасти" телефон дружини, щоб перевірити номер?)
Там вони зададуть вам пару запитань на кшталт: "Якою мовою програмування ви користуєтесь?" Ви можете вибрати Node.js, і тоді ви опинитесь на /console
сторінці.
Тут ви отримаєте ACCOUNT SID
і AUTH TOKEN
. Вони потрібні нам для виклику Twilio API, тому ми збираємося зберігати їх у config.js
файлі.
Попередження: Не діліться AUTH TOKEN . Це секретний ключ, тому ми збираємося зберігати їх у цьому "секретному" файлі config.js.
Чудово.
Наступним буде створення пробного номера (кнопку ви можете знайти на /console
сторінці). Цей номер буде використаний для надсилання повідомлень FROM.
Тепер, коли у нас все на місці, повернімось до нашого коду!
Нам потрібно встановити пакет Twilio: npm install twilio
і нам потрібно використовувати дані, які ми зберігаємо у ./config.js
файлі.
Разом із ACCOUNT_SID
і AUTH_TOKEN
ми також можемо зберігати інформацію PHONE_NR
про свою кохану людину, оскільки ми збираємося використовувати це, щоб повідомити Twilio куди відправити повідомлення ДО.
Давайте зробимо це, а також створимо sendMessage()
функцію, яка ... надішле повідомлення?.
const config = require('./config'); const accountSid = config.ACCOUNT_SID; const authToken = config.AUTH_TOKEN; const client = require('twilio')(accountSid, authToken); function sendMessage() { client.messages .create({ body: 'Your Message here', from: '+19166191713', to: config.PHONE_NR }) .then(message => { console.log(message); }); }
Ви бачите, що client.messages.create()
функція вимагала трьох речей:
- Тіло / повідомлення
- Номер FROM (це пробний номер, створений вище)
- Номер TO (це номер, на який ми хочемо надіслати повідомлення)
Отримуйте повідомлення
Нам потрібен список з 24 романтичних повідомлень, тому для цього давайте створимо messages.js
файл і помістимо всі повідомлення туди всередину масиву.
module.exports = [ `If I could give you one thing in life, I'd give you the ability to see yourself through my eyes, only then would you realize how special you are to me.`, `If you were a movie, I'd watch you over and over again.`, `In a sea of people, my eyes always search for you.` ];
Я додав лише 3 повідомлення вище, але ви можете заповнити масив, поки не дійдете до 24 повідомлень.
Поєднайте все
Тепер у нас є всі 3 компоненти:
- робота CRON
- виклик twilio sendMessage ()
- повідомлення
Ми можемо об'єднати їх у остаточний код:
const cron = require('node-cron'); const config = require('./config'); const accountSid = config.ACCOUNT_SID; const authToken = config.AUTH_TOKEN; const client = require('twilio')(accountSid, authToken); const messages = require('./messages'); const currentMessage = 0; function sendMessage() { client.messages .create({ body: messages[currentMessage], from: '+19166191713', to: config.PHONE_NR }) .then(message => { currentMessage++; console.log(message); }); } cron.schedule('0 * * * *', () => { console.log('Message sent!'); sendMessage(); });
Ви бачите, що я додав currentMessage
лічильник, який буде збільшуватись кожного разу, коли ми надсилаємо повідомлення, таким чином ми збираємося прокручувати весь масив повідомлень.
Це воно! ?
Тепер ви можете запустити сценарій, і він щогодини надсилатиме вашому коханому романтичне повідомлення!
З Днем Святого Валентина! ?
Спочатку розміщено на www.florin-pop.com