reminder é um sistema Python projetado para enviar e-mails e mensagens no Telegram com lembretes programados. O sistema utiliza uma base de dados PostgreSQL para armazenar os lembretes e oferece múltiplas opções de envio.
Para que o programa funcione corretamente, é interessante ter um banco de dados PostgreSQL funcionando localmente, seja via Docker ou instalado na sua máquina.
Crie o arquivo .env e adicione as variáveis. Preencha de acordo com suas configurações:
# Credenciais SMTP
PASSWORD=""
EMAIL=""
# Credenciais banco de dados
DATABASE=""
DB_USER=""
DB_PASSWORD=""
DB_CONTAINER=""
HOST="localhost"
PORT="5433"
# Credenciais Telegram
BOT_TOKEN=""
CHAT_ID=""Caso prefira utilizar Docker, segue um exemplo de compose.yml:
services:
home-db:
image: postgres:13
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5433:5432"
volumes:
postgres_data:Após configurar o banco de dados e o arquivo .env, execute os seguintes comandos:
# Execute um de cada vez para que não ocorram erros
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txtApós a instalação, o script está funcional. Os comandos disponíveis são:
# Listar todos os lembretes
python main.py list
# Inserir um novo lembrete
python main.py insert "SEU LEMBRETE AQUI"
# Deletar um lembrete específico pelo ID
python main.py delete ID
# Limpar todos os lembretes
python main.py clear
# Enviar lembretes (opções disponíveis)
python main.py send # Envia para E-mail e Telegram
python main.py send mail # Envia apenas por E-mail
python main.py send telegram # Envia apenas para Telegram
# Verificar o calendário
python main.py calendar # Exibe o calendário da data atual
python main.py calendar 3 1998 # Exibe calendário de março de 1998.
O comando send agora oferece três modos de operação:
- Sem parâmetro: Envia lembretes tanto por E-mail quanto para Telegram
mail: Envia lembretes apenas por E-mailtelegram: Envia lembretes apenas para o Telegram
O programa agora também conta com atalhos:
python main.py l # Listar
python main.py i # Inserir
python main.py d # Deletar um ou vários registros
python main.py c # Apagar todos os registros
python main.py s # Enviar os registros
python main.py cal # Calendário da data atualCaso queira criar um comando global para o script, utilize o arquivo reminder.sh para criar um link simbólico:
# Dá permissão de execução ao arquivo
chmod 775 reminder.sh
# Cria o link simbólico (ajuste o caminho conforme necessário)
sudo ln -s $HOME/Projects/python/send_mail_reminder/reminder.sh /bin/reminder
# Comandos disponíveis via link simbólico
reminder list
reminder insert "SEU LEMBRETE"
reminder delete ID
reminder clear
reminder send
reminder send mail
reminder send telegram
reminder calendar
reminder calendar 3 1998- ✅ Armazenamento de lembretes em banco PostgreSQL
- ✅ Envio de e-mails automáticos
- ✅ Envio de mensagens para Telegram
- ✅ Interface de linha de comando intuitiva
- ✅ Opção de enviar para ambos ou apenas um canal
- ✅ Formatação Markdown para mensagens no Telegram
As principais dependências estão listadas no requirements.txt:
click- Interface de linha de comandopsycopg2- Conexão com PostgreSQLpython-dotenv- Gerenciamento de variáveis de ambienterequests- Requisições HTTP para API do Telegram
Para dúvidas ou sugestões, entre em contato: LinkedIn | WhatsApp