This commit is contained in:
rodrigo committed 2025-08-08 10:35:13 -03:00
1 parent 2d2e40214b
commit a88ee59f0d
20 files changed
-2509

No files matched your search

-131
View File
@@ -1,131 +0,0 @@
# 🤖 Bot de Telegram Multifuncional - Funcionalidades
## ✅ Funcionalidades Implementadas
### 🔐 **Concentrador Juniper (131.0.192.254)**
- **Desconectar usuários**: `clear network-access aaa subscriber username USUARIO`
- **Listar usuários conectados**: `show network-access aaa subscribers`
- **Comandos aceitos**:
- "desconectar cliente joao123"
- "kick usuário maria456"
- "expulsar cliente teste"
- "remover cliente admin"
- "listar usuários conectados"
### 📡 **OLTs para Verificação de Sinal**
- **OLT DITO**: 192.168.190.7
- **OLT COLMEIA**: 192.168.190.8
- **OLT CANAA**: 192.168.190.9
- **OLT CANAA 2**: 192.168.190.10
**Processo de verificação de sinal:**
1. **Busca da ONU**: `show running-config interface gpon | context-match "SERIAL"`
2. **Extração de dados**: Slot e ONU ID
3. **Verificação do sinal**: `show interface gpon SLOT onu ONU_ID | nomore`
**Comandos aceitos:**
- "ver sinal DACM91569513"
- "verificar sinal ABCD12345678"
- "sinal TESTE123456"
### 🧠 **Processamento de Linguagem Natural**
#### Comandos Suportados:
- ✅ `/start` - Inicializar bot
- ✅ `/help` - Ajuda e comandos
- ✅ `/equipamentos` - Listar equipamentos
- ✅ **Desconectar usuários** (múltiplos formatos)
- ✅ **Verificar sinal de ONU** (com seleção de OLT)
- ✅ **Listar usuários conectados**
- ✅ **Conexões SSH**
- ✅ **Status de equipamentos**
#### Detecção Inteligente:
- Reconhece sinônimos (desconectar = kick = expulsar = remover)
- Detecta nomes de usuários vs equipamentos
- Sugestões automáticas para comandos incorretos
- Confiança baseada em padrões regex e palavras-chave
### 🎛️ **Interface do Telegram**
#### Menus Interativos:
- **Seleção de OLT** para verificação de sinal
- **Opções pós-verificação** (atualizar, ver config, pesquisar em outra OLT)
- **Gerenciamento de usuários** (atualizar lista, desconectar)
- **Confirmações** para ações críticas
#### Botões Inline:
- 📊 Status
- 🔄 Reiniciar/Atualizar
- 📋 Comandos personalizados
- ❌ Desconectar/Cancelar
- 🔍 Pesquisar em outras OLTs
### 🔧 **Arquitetura Modular**
```
src/
├── index.js # Entrada principal
├── bot/
│ └── handler.js # Lógica principal do bot
├── ssh/
│ └── manager.js # Gerenciamento SSH e comandos
├── nlp/
│ └── processor.js # Processamento de linguagem natural
└── config/
└── config.js # Configurações
```
### 🛡️ **Recursos de Segurança**
- **Autenticação**: Lista de usuários autorizados (ALLOWED_USERS)
- **Validação**: Verificação de parâmetros e comandos
- **Timeouts**: Timeout configurável para conexões SSH
- **Error Handling**: Tratamento robusto de erros
### 📊 **Monitoramento e Debug**
- **Logs detalhados** com modo debug
- **Tracking de intenções** NLP
- **Rastreamento de conexões** SSH ativas
- **Métricas de confiança** para comandos
## 🎯 **Exemplos de Uso**
### Desconectar Usuários:
```
"Desconectar usuario analuciagomes"
"kick cliente joao123"
"expulsar usuário maria456"
```
### Verificar Sinal:
```
"ver sinal DACM91569513"
"verificar sinal ABCD12345678"
"sinal TESTE123456"
```
### Outros Comandos:
```
"listar usuários conectados"
"ssh concentrador"
"status juniper"
"ping 192.168.190.7"
```
## 🚀 **Próximos Passos Sugeridos**
1. **Expansão de OLTs**: Adicionar mais equipamentos
2. **Comandos Avançados**: Reset de ONU, alteração de VLAN
3. **Relatórios**: Logs de ações, histórico de comandos
4. **Notificações**: Alertas automáticos de problemas
5. **Interface Web**: Dashboard complementar
6. **Backup/Restore**: Configurações de equipamentos
7. **Agendamento**: Tarefas programadas
8. **Multi-tenant**: Suporte a múltiplos clientes
## ⚙️ **Configuração Rápida**
1. Configure o `.env` com o token do bot
2. Execute `npm install && npm start`
3. No Telegram: `/start` para começar
4. Use `/help` para ver todos os comandos