🎄 12 Dias de DigitalOcean: Verificando Aniversários e Enviando Notificações por SMS 🎁
Bem-vindo ao Dia 3 dos 12 Dias de DigitalOcean! Nos últimos dois dias, configuramos um banco de dados PostgreSQL e nos conectamos a ele usando Python. Agora, é hora de fazer o nosso Serviço de Lembrete de Aniversário realmente fazer algo útil—enviar uma mensagem quando houver um aniversário hoje. 🎂
Vamos usar Twilio, um serviço que facilita o envio de mensagens SMS com apenas algumas linhas de código. Ao final de hoje, seu aplicativo verificará o banco de dados em busca de aniversários e enviará um lembrete se houver uma correspondência.
Vamos começar!
✨ Por Que Esta Etapa?
Encontrar aniversários em seu banco de dados é apenas parte do trabalho. Para tornar este aplicativo realmente útil, precisamos notificar alguém (você!) sobre essas datas especiais.
Esta etapa conecta os pontos:
- Use consultas SQL para encontrar aniversários que correspondam à data de hoje.
- Envie um lembrete amigável por SMS usando o Twilio.
É rápido de configurar e torna o aplicativo instantaneamente mais prático.
🚀 O Que Você Aprenderá
Aqui está o que vamos abordar hoje:
- Use consultas SQL para encontrar aniversários que correspondam à data de hoje.
- Envie notificações por SMS usando o SDK Python do Twilio.
- Combine esses passos em um único script Python funcional.
🛠 O Que Você Vai Precisar
Antes de começar, certifique-se de ter:
- Uma conta no Twilio (se você ainda não tiver uma, siga este Guia Rápido para se inscrever, comprar um número de telefone Twilio e obter suas credenciais.
- Suas credenciais do Twilio:
- Account SID
- Auth Token
- Número de telefone Twilio
- O banco de dados e o script de conexão Python do Dia 2.
- Dados de exemplo na sua tabela de contatos (adicionamos isso em Dia 1 – Configurando um Banco de Dados PostgreSQL para Lembretes de Aniversário). Se precisar adicionar mais, siga os passos do Dia 1 para preencher seu banco de dados.
🧑🍳 Receita para o Dia 3: Verificando Aniversários e Enviando Notificações
Passo 1: Instale o SDK Python do Twilio
Para enviar notificações por SMS, precisaremos da biblioteca Python do Twilio. Instale-a executando:
Se você ainda não tem suas credenciais do Twilio (Account SID, Auth Token e um número de telefone), siga o Guia Rápido de Mensagens do Twilio. Ele orienta você sobre como se inscrever, comprar um número de telefone e obter os detalhes necessários.
Passo 2: Atualize seu arquivo .env
Seu arquivo .env agora deve incluir tanto as credenciais do seu banco de dados (do Dia 2) quanto as credenciais do Twilio. Você pode encontrar as credenciais do Twilio—Account SID, Auth Token, e seu número de telefone Twilio—fazendo login no painel da sua conta Twilio.
Atualize seu arquivo .env
para ficar assim:
# Credenciais do banco de dados
DB_HOST=
DB_NAME=
DB_USER=
DB_PASSWORD=
DB_PORT=5432 # Default PostgreSQL port
# Credenciais do Twilio
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_FROM=
TWILIO_PHONE_TO=
- Substitua os espaços reservados pelas suas credenciais reais.
- Adicione seu número de telefone pessoal como TWILIO_PHONE_TO para receber notificações de teste.
Dica Profissional: Certifique-se de que .env
está adicionado ao seu arquivo .gitignore
para evitar que credenciais sensíveis sejam expostas no controle de versão.
Passo 3: Escreva o Script em Python
Aqui está o script completo em Python que consulta o banco de dados para os aniversários de hoje e envia notificações por SMS usando o Twilio:
Passo 5: Teste Seu Script
Execute o script para testar tudo:
Se houver um aniversário em seu banco de dados que coincida com a data de hoje, você receberá uma mensagem de texto. 🎉 Caso contrário, o script simplesmente imprimirá:
🎁 Conclusão
Aqui está o que conseguimos hoje:
✅ Consultamos o banco de dados para aniversários que coincidam com a data de hoje.
✅ Usamos o Twilio para enviar notificações por SMS para esses aniversários.
✅ Combinamos tudo em um script funcional em Python.
Próximo: Amanhã, vamos implementar este script nas Funções do DigitalOcean para que ele funcione na nuvem—sem necessidade de gerenciamento de servidor. É aqui que o Serviço de Lembrete de Aniversário começa a funcionar automaticamente. Fiquem ligados! 🚀
Source:
https://www.digitalocean.com/community/tutorials/checking-birthdays-and-sending-sms-notifications