3.9 KiB
3.9 KiB
🤖 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:
- Busca da ONU:
show running-config interface gpon | context-match "SERIAL" - Extração de dados: Slot e ONU ID
- 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
- Expansão de OLTs: Adicionar mais equipamentos
- Comandos Avançados: Reset de ONU, alteração de VLAN
- Relatórios: Logs de ações, histórico de comandos
- Notificações: Alertas automáticos de problemas
- Interface Web: Dashboard complementar
- Backup/Restore: Configurações de equipamentos
- Agendamento: Tarefas programadas
- Multi-tenant: Suporte a múltiplos clientes
⚙️ Configuração Rápida
- Configure o
.envcom o token do bot - Execute
npm install && npm start - No Telegram:
/startpara começar - Use
/helppara ver todos os comandos