像程序员一样表达你的爱❤️
最初发布于www.florin-pop.com
今天是情人节!😍
如果你每小时给你爱的人发一条浪漫的信息,那该有多好?甚至更好……
如果能用 NodeJS 脚本自动完成这些该有多棒啊!毕竟我们是程序员嘛,对吧?😏
在这个简短的教程中我将向您展示如何做到这一点。
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创建一个。您需要验证您的电子邮件地址以及您想要发送消息的号码。(为了验证号码,我不得不“偷”了我老婆的手机😅)
他们会在那里问你几个问题,例如:“你使用什么编程语言”......你可以选择 NodeJS,然后你就会进入该/console
页面。
在这里您将获得ACCOUNT SID
和AUTH TOKEN
。我们需要它们来调用 Twilio API,因此我们将把它们存储在一个config.js
文件中。
警告:请勿共享AUTH TOKEN。这是一个密钥,因此我们将把它存储在这个“秘密”的 config.js 文件中。
伟大的。
接下来需要创建一个试用号码(您可以在控制台页面找到该按钮)。此号码将用于发送消息。
现在我们已经准备好一切,让我们回到我们的代码!
我们需要安装 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
计数器,每次我们发送消息时该计数器都会递增,这样我们就可以循环遍历整个消息数组。
就是这样!😃
现在您可以运行该脚本,它会每小时向您所爱的人发送一条浪漫的信息!
情人节快乐!😇
鏂囩珷鏉ユ簮锛�https://dev.to/florinpop17/declare-your-love-like-a-programmer-26p3