Sådan erklæres din kærlighed som en programmør ❤️

I dag er det Valentinsdag! ?

Hvor dejligt ville det være, hvis du hver time sendte en romantisk besked til din elskede? Men endnu bedre ...

Hvor fantastisk ville det være at gøre det automatisk ved hjælp af et Node.js-script? Vi er trods alt ... programmører, ikke? ?

I denne korte vejledning vil jeg vise dig, hvordan du gør det.

PS For de dovne derude, her er en videotutorial:

Opret et CRON-job

Først skal vi oprette et CRON-job, der kører en funktion hver time.

Lad os derfor installere node-cronpakken i vores NodeJS-app:

npm install node-cron

Dernæst planlægger vi en funktion, der skal køre hver time:

const cron = require('node-cron'); cron.schedule('0 * * * *', () => { sendMessage(); }); 

Perfekt. Vi har ikke sendMessage()funktionen endnu, men vi opretter den senere.

Hvis du ikke ved, hvordan CRON-strengen fungerer, er her også en fantastisk webside, hvor du kan teste den.

Grundlæggende '0 * * * *'betyder :, Run every hour at 0 minutesså det kører på 00:00, 01:00, 02:00:, osv ... Du forstår pointen!

Opret forbindelse til Twilio

Vi har brug for en Twilio-konto, så gå over til Twilio.com og opret en. Du skal bekræfte din e-mail-adresse og også kontrollere det nummer, du vil sende beskeden til. (Jeg var nødt til at "stjæle" min kones telefon for at bekræfte nummeret?)

Derinde vil de stille dig et par spørgsmål som: "Hvilket programmeringssprog bruger du?" Du kan vælge Node.js, så ender du på /consolesiden.

Her får du ACCOUNT SIDog AUTH TOKEN. Vi har brug for disse for at ringe til Twilio API, så vi skal gemme dem inde i en config.jsfil.

Advarsel: Del ikke AUTH TOKEN . Dette er en hemmelig nøgle, så vi gemmer dem inde i denne "hemmelige" config.js-fil.

Store.

Den næste ting vil være at oprette et prøvenummer (du kan finde knappen på /consolesiden). Dette nummer bruges til at sende beskederne FRA.

Nu hvor vi har alt på plads, lad os gå tilbage til vores kode!

Vi skal installere Twilio-pakken: npm install twilioog vi skal bruge de data, vi har gemt inde i ./config.jsfilen.

Sammen med ACCOUNT_SIDog AUTH_TOKENvi kan også gemme PHONE_NRvores kære, da vi vil bruge dette til at fortælle Twilio, hvor de skal sende beskeden til.

Lad os gøre det, og lad os også oprette sendMessage()funktionen, som vil ... sende en besked?.

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); }); } 

Du kan se, at client.messages.create()funktionen krævede tre ting:

  1. Kroppen / meddelelsen
  2. FROM-nummeret (dette er prøvenummeret oprettet ovenfor)
  3. TO-nummeret (dette er det nummer, vi vil sende beskeden til)

Få beskederne

Vi har brug for en liste over 24 romantiske meddelelser, så lad os oprette en messages.jsfil og lægge alle beskederne der inde i en matrix.

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.` ]; 

Jeg tilføjede kun 3 beskeder ovenfor, men du kan udfylde arrayet, indtil du kommer til 24 beskeder.

Kombiner alt

Nu hvor vi har alle de 3 komponenter:

  • CRON-jobbet
  • Twilio sendMessage () opkaldet
  • meddelelserne

Vi kan kombinere dem i den endelige kode:

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(); }); 

Du kan se, at jeg tilføjede en currentMessagetæller, der vil blive forøget hver gang vi sender en besked, på denne måde vil vi løbe gennem hele række meddelelser.

Det er det! ?

Nu kan du køre scriptet, og det sender en romantisk besked hver time til din elskede!

Glædelig Valentins dag! ?

Oprindeligt udgivet på www.florin-pop.com