🎄 12 天的 DigitalOcean:檢查生日並發送 SMS 通知 🎁
歡迎來到 第 3 天 的 12 天的 DigitalOcean!在過去的兩天裡,我們設置了一個 PostgreSQL 數據庫並使用 Python 連接到它。現在,是時候讓我們的生日提醒服務實際做一些有用的事情——當今天有生日時發送簡訊給你。 🎂
我們將使用 Twilio,這是一個可以用幾行代碼輕鬆發送 SMS 訊息的服務。在今天結束之前,你的應用將檢查數據庫中的生日,並在有匹配時發送提醒。
讓我們開始吧!
✨ 為什麼這一步?
在你的數據庫中找出生日只是工作的一部分。要使這個應用真正有用,我們需要通知某人(你!)這些特別的日期。
這一步連接了所有要素:
- 使用 SQL 查詢找出與今天日期匹配的生日。
- 使用 Twilio 發送友好的 SMS 提醒。
設置快速,讓應用程序立刻變得更實用。
🚀 你將學到什麼
今天我們將要處理的內容有:
- 使用 SQL 查詢查找符合今天日期的生日。
- 使用 Twilio 的 Python SDK 發送 SMS 通知。
- 將這些步驟合併成一個完整的 Python 腳本。
🛠 你需要什麼
在開始之前,請確保你擁有:
- 一個 Twilio 帳戶(如果你還沒有,請按照這個 快速入門指南 註冊,購買一個 Twilio 電話號碼,並獲取你的憑證。
- 你的 Twilio 憑證:
- 帳戶 SID
- 授權令牌
- Twilio 電話號碼
- 來自 第 2 天 的數據庫和 Python 連接腳本。
- 範例資料 在您的聯絡人資料表中(我們在 第一天 – 設定 PostgreSQL 數據庫以獲取生日提醒 中添加了這個)。如果您需要添加更多,請按照第一天的步驟填充您的數據庫。
🧑🍳 第三天的食譜:檢查生日並發送通知
步驟 1:安裝 Twilio 的 Python SDK
要發送 SMS 通知,我們需要 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