🎄 数字海洋的12天:检查生日并发送短信通知 🎁
欢迎来到第3天的数字海洋的12天!在过去的两天里,我们已设置了一个PostgreSQL数据库,并使用Python连接到它。现在,是时候让我们的生日提醒服务真正发挥作用——在今天有生日时给你发送一条短信。🎂
我们将使用Twilio,这是一个只需几行代码即可轻松发送短信的服务。到今天结束时,你的应用程序将检查数据库中的生日,并在有匹配时发送提醒。
让我们开始吧!
✨ 为什么这一步?
在数据库中查找生日只是工作的一部分。为了使这个应用程序真正有用,我们需要通知某人(你!)这些特殊的日期。
这一步连接了各个环节:
- 使用SQL查询查找与今天日期匹配的生日。
- 使用Twilio发送友好的短信提醒。
设置迅速,使应用程序立即变得更加实用。
🚀 你将学到的内容
今天我们将处理以下内容:
- 使用 SQL 查询查找与今天日期匹配的生日。
- 使用 Twilio 的 Python SDK 发送 SMS 通知。
- 将这些步骤组合成一个功能齐全的 Python 脚本。
🛠 你需要的工具
在开始之前,请确保你拥有:
- 一个 Twilio 账户(如果你还没有,请按照这个 快速入门指南 注册、购买一个 Twilio 电话号码并获取你的凭据。
- 你的 Twilio 凭据:
- 账户 SID
- 认证令牌
- Twilio 电话号码
- 来自 第 2 天 的数据库和 Python 连接脚本。
- 示例数据在您的联系人表中(我们在第1天 – 设置PostgreSQL数据库以进行生日提醒中添加了这个)。如果您需要添加更多,请按照第1天的步骤填充您的数据库。
🧑🍳 第3天的食谱:检查生日并发送通知
步骤1:安装Twilio的Python SDK
要发送短信通知,我们需要Twilio Python库。通过运行以下命令安装它:
如果您还没有Twilio凭据(账户SID、身份验证令牌和电话号码),请按照Twilio的消息快速入门。它会指导您注册、购买电话号码并获取必要的详细信息。
步骤 2:更新您的 .env
文件
您的 .env 文件现在应该包含您的数据库凭据(来自第 2 天)和您的 Twilio 凭据。您可以通过登录到您的 Twilio 账户仪表板找到 Twilio 凭据——账户 SID、授权令牌和您的 Twilio 电话号码。
将您的 .env
文件更新为如下所示:
# 数据库凭据
DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PORT=5432 # Default PostgreSQL port
# Twilio 凭据
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_FROM=
TWILIO_PHONE_TO=
- 将占位符替换为您的实际凭据。
- 将您的个人电话号码作为 TWILIO_PHONE_TO 添加,以接收测试通知。
专业提示:确保将 .env
添加到您的 .gitignore
文件中,以防止敏感凭据在版本控制中暴露。
步骤 3:编写 Python 脚本
以下是完整的 Python 脚本,它查询数据库以获取今天的生日,并使用 Twilio 发送 SMS 通知:
步骤 5: 测试您的脚本
运行脚本来测试所有内容:
如果数据库中有与今天日期匹配的生日,您将收到一条短信。 🎉 如果没有,脚本将简单地打印:
🎁 总结
今天我们取得了以下成就:
✅ 查询数据库以匹配今天日期的生日。
✅ 使用 Twilio 发送短信通知这些生日。
✅ 将所有内容合并为一个功能性的 Python 脚本。
接下来:明天,我们将部署这个脚本到DigitalOcean Functions,让它在云中运行,无需服务器管理。这就是生日提醒服务开始自动运行的地方。敬请关注!🚀
Source:
https://www.digitalocean.com/community/tutorials/checking-birthdays-and-sending-sms-notifications