🎄 12 Días de DigitalOcean: Verificando Cumpleaños y Enviando Notificaciones por SMS 🎁
¡Bienvenido al Día 3 de 12 Días de DigitalOcean! En los últimos dos días, hemos configurado una base de datos PostgreSQL y nos hemos conectado a ella utilizando Python. Ahora, es el momento de hacer que nuestro Servicio de Recordatorio de Cumpleaños realmente haga algo útil: enviarte un mensaje de texto cuando haya un cumpleaños hoy. 🎂
Utilizaremos Twilio, un servicio que facilita el envío de mensajes SMS con solo unas pocas líneas de código. Al final de hoy, tu aplicación verificará la base de datos en busca de cumpleaños y te enviará un recordatorio si hay una coincidencia.
¡Empecemos!
✨ ¿Por qué Este Paso?
Encontrar cumpleaños en tu base de datos es solo parte del trabajo. Para que esta aplicación sea realmente útil, necesitamos notificar a alguien (¡tú!) sobre estas fechas especiales.
Este paso conecta los puntos:
- Utiliza consultas SQL para encontrar cumpleaños que coincidan con la fecha de hoy.
- Envía un recordatorio amistoso por SMS usando Twilio.
Es rápido de configurar y hace que la aplicación sea instantáneamente más práctica.
🚀 Lo que aprenderás
Aquí está lo que abordaremos hoy:
- Usar consultas SQL para encontrar cumpleaños que coincidan con la fecha de hoy.
- Enviar notificaciones SMS usando el SDK de Python de Twilio.
- Combinar estos pasos en un solo script funcional de Python.
🛠 Lo que necesitarás
Antes de comenzar, asegúrate de tener:
- Una cuenta de Twilio (si aún no tienes una, sigue esta Guía de inicio rápido para registrarte, comprar un número de teléfono de Twilio y obtener tus credenciales.
- Tus credenciales de Twilio:
- SID de la cuenta
- Token de autenticación
- Número de teléfono de Twilio
- El script de conexión de la base de datos y Python de Día 2.
- Datos de muestra en tu tabla de contactos (agregamos esto en Día 1 – Configuración de una base de datos PostgreSQL para recordatorios de cumpleaños). Si necesitas agregar más, sigue los pasos del Día 1 para poblar tu base de datos.
🧑🍳 Receta para el Día 3: Comprobando cumpleaños y enviando notificaciones
Paso 1: Instalar el SDK de Python de Twilio
Para enviar notificaciones por SMS, necesitaremos la biblioteca de Python de Twilio. Instálala ejecutando:
Si aún no tienes tus credenciales de Twilio (Account SID, Auth Token y un número de teléfono), sigue el Inicio rápido de mensajería de Twilio. Te guía a través del registro, la compra de un número de teléfono y la obtención de los detalles necesarios.
Paso 2: Actualiza tu .env
Archivo
Tu archivo .env ahora debería incluir tanto tus credenciales de base de datos (del Día 2) como tus credenciales de Twilio. Puedes encontrar las credenciales de Twilio—Account SID, Auth Token y tu número de teléfono de Twilio—iniciando sesión en el panel de control de tu cuenta de Twilio.
Actualiza tu archivo .env
para que se vea así:
# Credenciales de la base de datos
DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PORT=5432 # Default PostgreSQL port
# Credenciales de Twilio
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_FROM=
TWILIO_PHONE_TO=
- Reemplaza los marcadores de posición con tus credenciales reales.
- Agrega tu número de teléfono personal como TWILIO_PHONE_TO para recibir notificaciones de prueba.
Consejo Profesional: Asegúrate de que .env
esté añadido a tu archivo .gitignore
para evitar que credenciales sensibles sean expuestas en el control de versiones.
Paso 3: Escribe el Script en Python
Aquí está el script completo en Python que consulta la base de datos para los cumpleaños de hoy y envía notificaciones SMS utilizando Twilio:
Paso 5: Prueba tu script
Ejecuta el script para probar todo:
Si hay un cumpleaños en tu base de datos que coincide con la fecha de hoy, recibirás un mensaje de texto. 🎉 Si no, el script simplemente imprimirá:
🎁 Resumen
Esto es lo que logramos hoy:
✅ Consultamos la base de datos para los cumpleaños que coinciden con la fecha de hoy.
✅ Usamos Twilio para enviar notificaciones por SMS para esos cumpleaños.
✅ Combinamos todo en un script funcional de Python.
Próximamente: Mañana, implementaremos este script en DigitalOcean Functions para que se ejecute en la nube—sin necesidad de gestión de servidores. Aquí es donde el Servicio de Recordatorio de Cumpleaños comienza a funcionar automáticamente. ¡Mantente atento! 🚀
Source:
https://www.digitalocean.com/community/tutorials/checking-birthdays-and-sending-sms-notifications