first commit
This commit is contained in:
commit
d0d99063e2
33 files changed
+9595
No files matched your search
@@ -0,0 +1,131 @@
|
||||
# 🤖 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
|
||||
Reference in new issue
Block a user