https://github.com/gabsouza-dev/message-bot
https://github.com/gabsouza-dev/message-bot
Last synced: 10 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/gabsouza-dev/message-bot
- Owner: gabsouza-dev
- License: mit
- Created: 2025-02-11T18:03:48.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-11T18:16:58.000Z (over 1 year ago)
- Last Synced: 2025-03-11T04:56:20.703Z (over 1 year ago)
- Language: Python
- Size: 9.77 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📩 WhatsApp & Telegram Bot Scheduler
Automação de envio de mensagens pelo WhatsApp (via Twilio) e Telegram, rodando no GitHub Actions.
## 🚀 Como funciona?
Este projeto permite enviar mensagens automaticamente pelo WhatsApp e Telegram em horários programados, utilizando **GitHub Actions** para a execução.
## 🛠 Tecnologias Utilizadas
- **Python 3.9+**
- **Twilio API** (para WhatsApp)
- **Telegram Bot API**
- **GitHub Actions** (para agendamento)
## ⚙️ Configuração
### 1️⃣ Obter Tokens e IDs
#### **🔹 WhatsApp (via Twilio)**
1. Crie uma conta em [Twilio](https://www.twilio.com/).
2. No painel do Twilio, obtenha:
- `TWILIO_ACCOUNT_SID`
- `TWILIO_AUTH_TOKEN`
- Um número de telefone formatado como `whatsapp:+1415XXXXXXX`.
3. Ative a API do WhatsApp no Twilio e faça o teste de envio.
#### **🔹 Telegram**
1. No Telegram, abra o bot `@BotFather` e crie um novo bot com `/newbot`.
2. Copie o **TOKEN** gerado pelo BotFather (`TELEGRAM_BOT_TOKEN`).
3. Envie uma mensagem para o bot e obtenha o `CHAT_ID` através da URL:
```
https://api.telegram.org/bot/getUpdates
```
4. Pegue o `chat_id` da resposta JSON.
### 2️⃣ Configurar Secrets no GitHub
1. No GitHub, vá até **Settings** → **Secrets and variables** → **Actions**.
2. Adicione as seguintes variáveis:
- `TWILIO_ACCOUNT_SID`
- `TWILIO_AUTH_TOKEN`
- `TELEGRAM_BOT_TOKEN`
- `CHAT_ID`
### 3️⃣ Configurar GitHub Actions
O workflow do GitHub Actions está definido em `.github/workflows/bot-scheduler.yml` e já está pronto para rodar. Ele executa o bot automaticamente conforme o cron configurado.
## 📅 Agendamento (CRON)
O bot é executado diariamente às **14:00 UTC**. Para alterar o horário, edite o arquivo `bot-scheduler.yml` e modifique a linha:
```yaml
- cron: '0 14 * * *' # Formato CRON: Minuto Hora Dia Mês DiaDaSemana
```
- Exemplo para rodar todo dia às 8h da manhã (UTC-3):
```yaml
- cron: '0 11 * * *' # 8h no Brasil (horário de Brasília)
```
## ▶️ Executando Manualmente
Além do agendamento, você pode rodar o bot manualmente pelo GitHub Actions:
1. Vá até a aba **Actions** do repositório.
2. Clique no workflow **WhatsApp/Telegram Bot Scheduler**.
3. Clique em **Run workflow**.
## 📜 Licença
Este projeto está sob a licença **MIT**. Sinta-se à vontade para modificar e melhorar! 💡
---
💬 Se tiver dúvidas ou sugestões, abra uma issue ou pull request! 🚀