Subida da versão estável
This commit is contained in:
88
README.md
88
README.md
@@ -0,0 +1,88 @@
|
||||
# Sistema de Agendamento Multi-Canal
|
||||
|
||||
Este projeto é um sistema completo de agendamento que permite aos clientes marcarem horários de forma automatizada via WhatsApp (integrações Twilio e UltraMsg) e Telegram. O sistema inclui também um painel administrativo web para gestão da agenda e um serviço de lembretes automáticos.
|
||||
|
||||
## 🚀 Funcionalidades
|
||||
|
||||
* **Agendamento via Chatbot:** Fluxo automatizado onde o cliente escolhe o período (Manhã/Tarde/Noite) e o horário disponível.
|
||||
* **Múltiplos Canais de Atendimento:**
|
||||
* **WhatsApp:** Suporte via API oficial (Twilio) e não-oficial (UltraMsg).
|
||||
* **Telegram:** Bot nativo para agendamentos.
|
||||
* **Painel Administrativo (Dashboard):** Interface visual desenvolvida em Streamlit para que o prestador de serviço possa:
|
||||
* Visualizar agendamentos em formato de calendário.
|
||||
* Criar, editar e excluir eventos manualmente.
|
||||
* **Lembretes Automáticos (`Lembrator`):** Serviço em segundo plano que notifica os clientes sobre seus horários com antecedência de 24h, 12h e 3h.
|
||||
* **Banco de Dados:** Persistência de dados utilizando MySQL (com suporte legado/local para SQLite).
|
||||
|
||||
## 📂 Estrutura de Arquivos
|
||||
|
||||
### Principais
|
||||
* **`Main_Receiver-Twilio01.py`**: Servidor Flask que atua como Webhook para o Twilio (WhatsApp).
|
||||
* **`Main_Receiver-Whatsapp.py`**: Servidor Flask para integração com a API UltraMsg (WhatsApp).
|
||||
* **`Main_Receiver_Telegram.py`**: Bot do Telegram que utiliza a biblioteca `python-telegram-bot`.
|
||||
* **`Painel_Prestador_Mysql.py`**: Aplicação Streamlit para gestão da agenda pelo prestador.
|
||||
* **`Lembrator.py`**: Script de automação para envio de lembretes.
|
||||
|
||||
### Banco de Dados
|
||||
* **`BD_manager_Mysql.py`**: Gerenciador de conexão e queries para MySQL (usado em produção).
|
||||
* **`BD_manager.py`**: Versão SQLite (uso local/teste).
|
||||
|
||||
## 🛠️ Instalação e Configuração
|
||||
|
||||
1. **Instale as dependências:**
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
2. **Configuração de Ambiente:**
|
||||
Crie um arquivo `.env` na raiz do projeto para armazenar suas credenciais sensíveis:
|
||||
```env
|
||||
# Twilio
|
||||
TWILIO_ACCOUNT_SID=seu_sid
|
||||
TWILIO_AUTH_TOKEN=seu_token
|
||||
TWILIO_WHATSAPP_NUMBER=whatsapp:+14155238886
|
||||
|
||||
# Banco de Dados (se não usar st.secrets)
|
||||
DB_HOST=seu_host
|
||||
DB_USER=seu_user
|
||||
DB_PASSWORD=sua_senha
|
||||
DB_NAME=agenda
|
||||
DB_PORT=porta
|
||||
```
|
||||
*Nota: O painel Streamlit utiliza `st.secrets` para configuração do banco.*
|
||||
|
||||
3. **Banco de Dados:**
|
||||
Certifique-se de que as tabelas `events`, `acompanhamento` e `agenda` estejam criadas no seu banco de dados MySQL conforme esperado pelos scripts `BD_manager_Mysql.py`.
|
||||
|
||||
## ▶️ Como Executar
|
||||
|
||||
### 1. Iniciar os Chatbots
|
||||
Para ativar o atendimento automático, execute o script correspondente à plataforma desejada:
|
||||
|
||||
* **WhatsApp (Twilio):**
|
||||
```bash
|
||||
python Main_Receiver-Twilio01.py
|
||||
```
|
||||
* **Telegram:**
|
||||
```bash
|
||||
python Main_Receiver_Telegram.py
|
||||
```
|
||||
|
||||
### 2. Painel Administrativo
|
||||
Para abrir a interface de gestão:
|
||||
```bash
|
||||
streamlit run Painel_Prestador_Mysql.py
|
||||
```
|
||||
|
||||
### 3. Serviço de Lembretes
|
||||
Para iniciar o monitoramento e envio de avisos:
|
||||
```bash
|
||||
python Lembrator.py
|
||||
```
|
||||
|
||||
## 📦 Dependências Principais
|
||||
* `Flask`: Servidor web para os webhooks.
|
||||
* `mysql-connector-python`: Driver de conexão com o MySQL.
|
||||
* `streamlit` & `streamlit-calendar`: Interface do painel administrativo.
|
||||
* `twilio`: SDK para envio de mensagens via Twilio.
|
||||
* `python-telegram-bot`: SDK para o bot do Telegram.
|
||||
|
||||
Reference in New Issue
Block a user