Files
rodrigonet/FUNCIONALIDADES.md
T
2025-08-08 10:22:27 -03:00

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:

  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