像程序员一样表达你的爱❤️

2025-06-08

像程序员一样表达你的爱❤️

最初发布于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 SIDAUTH 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()函数需要三件事:

  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计数器,每次我们发送消息时该计数器都会递增,这样我们就可以循环遍历整个消息数组。

就是这样!😃

现在您可以运行该脚本,它会每小时向您所爱的人发送一条浪漫的信息!

情人节快乐!😇

鏂囩珷鏉ユ簮锛�https://dev.to/florinpop17/declare-your-love-like-a-programmer-26p3
PREV
JavaScript 编码挑战
NEXT
微前端中的 CSS