So erklären Sie Ihre Liebe wie ein Programmierer ❤️

Heute ist Valentinstag! ?

Wie schön wäre es, wenn Sie Ihrem geliebten Menschen jede Stunde eine romantische Botschaft senden würden? Aber noch besser ...

Wie großartig wäre es, dies automatisch mit einem Node.js-Skript zu tun? Wir sind doch ... Programmierer, oder? ?

In diesem kurzen Tutorial werde ich Ihnen zeigen, wie es geht.

PS Für die Faulen gibt es hier ein Video-Tutorial:

Erstellen Sie einen CRON-Job

Zuerst müssen wir einen CRON-Job erstellen, der jede Stunde eine Funktion ausführt.

Installieren node-cronwir dazu das Paket in unserer NodeJS-App:

npm install node-cron

Als nächstes planen wir eine Funktion, die jede Stunde ausgeführt wird:

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

Perfekt. Wir haben die sendMessage()Funktion noch nicht, aber wir werden sie später erstellen.

Falls Sie nicht wissen, wie die CRON-Zeichenfolge funktioniert, finden Sie hier eine fantastische Website, auf der Sie sie testen können.

Im Grunde '0 * * * *'bedeutet : Run every hour at 0 minutes, so läuft es bei 00:00, 01:00, 02:00:, etc ... Sie bekommen den Punkt!

Stellen Sie eine Verbindung zu Twilio her

Wir brauchen ein Twilio-Konto, gehen Sie also zu Twilio.com und erstellen Sie eines. Sie müssen Ihre E-Mail-Adresse und die Nummer überprüfen, an die Sie die Nachricht senden möchten. (Ich musste das Telefon meiner Frau "stehlen", um die Nummer zu überprüfen?)

Dort stellen sie Ihnen ein paar Fragen wie: "Welche Programmiersprache verwenden Sie?" Sie können Node.js auswählen und landen dann auf der /consoleSeite.

Hier bekommst du das ACCOUNT SIDund AUTH TOKEN. Wir benötigen diese, um die Twilio-API aufzurufen, damit wir sie in einer config.jsDatei speichern können .

Warnung: Teilen Sie die AUTH TOKEN nicht . Dies ist ein geheimer Schlüssel, daher werden wir sie in dieser "geheimen" Datei config.js speichern.

Toll.

Als nächstes erstellen Sie eine Testnummer (die Schaltfläche finden Sie auf der /consoleSeite). Diese Nummer wird zum Senden der Nachrichten FROM verwendet.

Nachdem wir alles eingerichtet haben, kehren wir zu unserem Code zurück!

Wir müssen das Twilio-Paket installieren: npm install twiliound wir müssen die Daten verwenden, die wir in der ./config.jsDatei gespeichert haben .

Zusammen mit dem ACCOUNT_SIDund können AUTH_TOKENwir auch das PHONE_NRvon unserem geliebten Menschen speichern, da wir dies verwenden werden, um Twilio mitzuteilen, wohin die Nachricht gesendet werden soll.

Lassen Sie uns das tun und auch die sendMessage()Funktion erstellen , die ... eine Nachricht sendet?

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

Sie können sehen, dass die client.messages.create()Funktion drei Dinge erforderte:

  1. Der Körper / die Nachricht
  2. Die FROM-Nummer (dies ist die oben erstellte Testnummer)
  3. Die TO-Nummer (dies ist die Nummer, an die wir die Nachricht senden möchten)

Holen Sie sich die Nachrichten

Wir brauchen eine Liste von 24 romantischen Nachrichten. Dazu erstellen wir eine messages.jsDatei und fügen alle Nachrichten in ein Array ein.

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

Ich habe oben nur 3 Nachrichten hinzugefügt, aber Sie können das Array füllen, bis Sie 24 Nachrichten erhalten.

Kombiniere alles

Jetzt haben wir alle 3 Komponenten:

  • der CRON-Job
  • der Twilio sendMessage () -Aufruf
  • Die Nachrichten

Wir können sie zu dem endgültigen Code kombinieren:

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

Sie können sehen, dass ich einen currentMessageZähler hinzugefügt habe, der jedes Mal erhöht wird, wenn wir eine Nachricht senden. Auf diese Weise werden wir das gesamte Array von Nachrichten durchlaufen.

Das ist es! ?

Jetzt können Sie das Skript ausführen und es sendet stündlich eine romantische Nachricht an Ihre Liebsten!

Alles Gute zum Valentinstag! ?

Ursprünglich veröffentlicht auf www.florin-pop.com