Як визнати своє кохання як програміст ❤️

Сьогодні День закоханих! ?

Як добре було б, якби ви щогодини відправляли романтичне повідомлення коханій людині? Але ще краще ...

Наскільки чудово було б зробити це автоматично за допомогою сценарію 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()функція вимагала трьох речей:

  1. Тіло / повідомлення
  2. Номер FROM (це пробний номер, створений вище)
  3. Номер 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