🎄 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 nosso Serviço de Lembrete de Aniversário realmente fazer algo útil—enviar uma mensagem de texto quando há um aniversário hoje. 🎂
Usaremos 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 no 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 coincidam com a 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 SMS usando o SDK Python do Twilio.
- Combine esses passos em um único script Python funcional.
🛠 O que você 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 script de conexão com o banco de dados e 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 você 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 da Twilio
Para enviar notificações por SMS, precisamos da biblioteca Python da Twilio. Instale-a executando:
Se você ainda não tiver suas credenciais da Twilio (Account SID, Auth Token e um número de telefone), siga o Guia Rápido de Mensagens da Twilio. Ele orienta você sobre como se inscrever, comprar um número de telefone e obter os detalhes necessários.
Passo 2: Atualize seu .env
Arquivo
Seu arquivo .env agora deve incluir tanto suas credenciais de banco de dados (do Dia 2) quanto suas credenciais do Twilio. Você pode encontrar as credenciais do Twilio—Account SID, Auth Token e seu número de telefone do 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
esteja 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 SMS usando o Twilio:
Etapa 5: Teste seu script
Execute o script para testar tudo:
Se houver um aniversário em seu banco de dados que corresponda à data de hoje, você receberá uma mensagem de texto. 🎉 Se não, o script simplesmente imprimirá:
🎁 Conclusão
Aqui está o que conseguimos hoje:
✅ Consultamos o banco de dados para aniversários correspondentes à data de hoje.
✅ Usamos o Twilio para enviar notificações SMS para esses aniversários.
✅ Combinamos tudo em um script funcional em Python.
Próximo: Amanhã, vamos implantar este script nas Funções do DigitalOcean para que ele execute na nuvem—sem necessidade de gerenciamento de servidor. É aqui que o Serviço de Lembrete de Aniversário começa a funcionar automaticamente. Fique ligado! 🚀
Source:
https://www.digitalocean.com/community/tutorials/checking-birthdays-and-sending-sms-notifications