Πώς να δηλώσετε την αγάπη σας σαν προγραμματιστής ❤️

Σήμερα είναι η Ημέρα του Αγίου Βαλεντίνου! ;

Πόσο ωραίο θα ήταν αν στέλνατε ένα ρομαντικό μήνυμα κάθε ώρα στο αγαπημένο σας πρόσωπο; Αλλά ακόμα καλύτερα ...

Πόσο φοβερό θα ήταν να το κάνετε αυτόματα χρησιμοποιώντας ένα σενάριο Node.js; Είμαστε τελικά ... προγραμματιστές, σωστά; ;

Σε αυτό το σύντομο σεμινάριο θα σας δείξω πώς να το κάνετε.

PS Για τους τεμπέληδες εκεί έξω, εδώ είναι ένα Video Tutorial:

Δημιουργήστε μια εργασία 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 και δημιουργήστε έναν. Πρέπει να επαληθεύσετε τη διεύθυνση email σας και επίσης να επαληθεύσετε τον αριθμό στον οποίο θέλετε να στείλετε το μήνυμα. (Έπρεπε να "κλέψω" το τηλέφωνο της γυναίκας μου για να επαληθεύσω τον αριθμό;)

Εκεί θα σας ρωτήσουν μερικές ερωτήσεις όπως: "Ποια γλώσσα προγραμματισμού χρησιμοποιείτε;" Μπορείτε να επιλέξετε Node.js και στη συνέχεια θα καταλήξετε στη /consoleσελίδα.

Εδώ θα πάρετε το ACCOUNT SIDκαι AUTH TOKEN. Χρειαζόμαστε αυτά για να καλέσουμε το Twilio API, ώστε να τα αποθηκεύσουμε μέσα σε ένα config.jsαρχείο.

Προειδοποίηση: Μην κοινοποιείτε το AUTH TOKEN . Αυτό είναι ένα μυστικό κλειδί, οπότε θα τα αποθηκεύσουμε μέσα σε αυτό το "μυστικό" αρχείο config.js.

Μεγάλος.

Το επόμενο πράγμα θα είναι να δημιουργήσετε έναν δοκιμαστικό αριθμό (μπορείτε να βρείτε το κουμπί στη /consoleσελίδα). Αυτός ο αριθμός θα χρησιμοποιηθεί για την αποστολή των μηνυμάτων ΑΠΟ.

Τώρα που έχουμε τα πάντα στη θέση του, ας επιστρέψουμε στον κώδικά μας!

Πρέπει να εγκαταστήσουμε το πακέτο Twilio: npm install twilioκαι πρέπει να χρησιμοποιήσουμε τα δεδομένα που αποθηκεύσαμε μέσα στο ./config.jsαρχείο.

Μαζί με το ACCOUNT_SIDκαι AUTH_TOKENμπορούμε επίσης να αποθηκεύσουμε το PHONE_NRαγαπημένο μας πρόσωπο καθώς πρόκειται να το χρησιμοποιήσουμε για να πούμε στο Twilio πού να στείλει το μήνυμα TO.

Ας το κάνουμε αυτό και επίσης ας δημιουργήσουμε τη 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μετρητή ο οποίος θα αυξάνεται κάθε φορά που στέλνουμε ένα μήνυμα, με αυτόν τον τρόπο θα βρούμε ολόκληρο τον πίνακα μηνυμάτων.

Αυτό είναι! ;

Τώρα μπορείτε να εκτελέσετε το σενάριο και θα στέλνει ένα ρομαντικό μήνυμα, κάθε ώρα, στο αγαπημένο σας πρόσωπο!

Happy Valentine's! ;

Αρχικά δημοσιεύτηκε στο www.florin-pop.com