help: fix

Signed-off-by: Rodrigo B. de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
rodrigo committed 2025-09-20 10:17:51 -03:00
1 parent ae47ff6640
commit 670dfed4bc
1 file changed
+201 -131
+201 -131
View File
@@ -293,166 +293,233 @@ Digite /help para ver todos os comandos disponíveis!
* Comando /help * Comando /help
*/ */
async handleHelp(chatId) { async handleHelp(chatId) {
const helpMessage = `📋 COMANDOS DISPONÍVEIS: const helpMessage = `🤖 **BOT DE AJUDA TÉCNICA**
🔧 COMANDOS BÁSICOS: 🔧 **COMANDOS PRINCIPAIS:**
/start - Inicia o bot • /start - Inicia o bot
/help - Mostra esta ajuda • /help - Esta ajuda
/equipamentos - Lista equipamentos • /equipamentos - Lista equipamentos
🔐 SSH E CONEXÕES: 🏢 **GESTÃO DE CLIENTES:**
/ssh <equipamento> - Conecta via SSH • "buscar cliente João Silva"
• "dados cliente 123.456.789-10"
• "ver faturas cliente"
• "abrir suporte"
📡 **OLT/ONU:**
• "ver sinal DACM91569513"
• "adicionar onu SERIAL"
• "remover onu SERIAL"
� **JUNIPER:**
• "desconectar cliente USER"
• "listar usuários conectados"
🔐 **SSH:**
• "ssh juniper" • "ssh juniper"
• "acessar concentrador" • "acessar concentrador"
👥 JUNIPER - GERENCIAR USUÁRIOS: 📋 **Para ver comandos detalhados, use:**`;
• "desconectar cliente USUARIO"
• "kick usuário USUARIO"
• "remover cliente USUARIO"
• "listar usuários conectados"
📡 OLT - VERIFICAR SINAL DE ONU: const keyboard = [
[
{ text: '🏢 TopSapp', callback_data: 'help_topsapp' },
{ text: '� OLT/ONU', callback_data: 'help_olt' }
],
[
{ text: '👥 Juniper', callback_data: 'help_juniper' },
{ text: '🔐 SSH', callback_data: 'help_ssh' }
],
[
{ text: '🎫 Suporte', callback_data: 'help_suporte' },
{ text: '🛡️ Admin', callback_data: 'help_admin' }
]
];
await this.bot.sendMessage(chatId, helpMessage, {
parse_mode: 'Markdown',
reply_markup: {
inline_keyboard: keyboard
}
});
}
/**
* Handler para callbacks de help detalhado
*/
async handleHelpDetailCallback(callbackQuery, data) {
const chatId = callbackQuery.message.chat.id;
const helpType = data.replace('help_', '');
await this.bot.answerCallbackQuery(callbackQuery.id);
let helpMessage = '';
let backButton = { text: '⬅️ Voltar', callback_data: 'help_main' };
switch (helpType) {
case 'main':
await this.handleHelp(chatId);
return;
case 'topsapp':
helpMessage = `🏢 **TOPSAPP - GESTÃO DE CLIENTES**
**🔍 BUSCAR CLIENTES:**
• "buscar cliente João Silva"
• "buscar cliente 123.456.789-10"
• "buscar cliente Guarai João"
**📋 DADOS CADASTRAIS:**
• "dados cliente João Silva"
• "dados cadastrais 123.456.789-10"
**📄 FATURAS:**
• "ver faturas 123.456.789-10"
• "gerar boleto fatura123"
**⚙️ SERVIÇOS:**
• "listar serviços 123.456.789-10"
**🔒 BLOQUEIO/LIBERAÇÃO:**
• "bloquear 123.456.789-10"
• "liberar 123.456.789-10"
**📊 STATUS:**
• "status topsapp"`;
break;
case 'olt':
helpMessage = `📡 **OLT/ONU - COMANDOS**
**📶 VERIFICAR SINAL:**
• "ver sinal DACM91569513" • "ver sinal DACM91569513"
• "verificar sinal ABCD12345678" • "verificar sinal ABCD12345678"
• "sinal SERIAL_NUMBER" • "sinal SERIAL_NUMBER"
• Suporte para OLT Fiberhome + OLTs Datacom
• Interface unificada para todas as OLTs
➕ OLT - ADICIONAR ONU: **➕ ADICIONAR ONU:**
• "adicionar onu DACM91569513" • "adicionar onu DACM91569513"
• "cadastrar ABCD12345678" • "cadastrar ABCD12345678"
• "add onu SERIAL_NUMBER" • "add onu SERIAL_NUMBER"
🗑️ OLT - REMOVER ONU: **🗑️ REMOVER ONU:**
• "remover onu DACM91569513" • "remover onu DACM91569513"
• "deletar ABCD12345678" • "deletar ABCD12345678"
• "remover SERIAL_NUMBER" • "remover SERIAL_NUMBER"
🔄 OLT - REINICIAR ONU: **🔄 REINICIAR ONU:**
• Após verificar o sinal, use o botão "🔌 Reiniciar ONU" • Após verificar sinal, use botão "🔌 Reiniciar ONU"
• Comando confirma antes de reiniciar
• Processo automático com confirmação
⬆️ OLT - ATUALIZAR FIRMWARE ONU: **⬆️ ATUALIZAR FIRMWARE:**
• Após verificar o sinal, use o botão "⬆️ Atualizar ONU" • Após verificar sinal, use botão "⬆️ Atualizar ONU"
• Detecta automaticamente o modelo (DM986-100/DM986-414)
• Oferece opções de firmware específicas para cada modelo
• Processo seguro com confirmação
🏢 TOPSAPP - GESTÃO DE CLIENTES: **🏢 OLTs DISPONÍVEIS:**
• "buscar cliente João da Silva" • OLT FIBERHOME (131.0.192.9)
• "buscar cliente 123.456.789-10"
• "buscar cliente Guarai João"
• "dados cliente João Silva" (dados cadastrais completos)
• "dados cadastrais 123.456.789-10"
• "ver faturas 123.456.789-10"
• "listar serviços 123.456.789-10"
• "gerar boleto fatura123"
• "bloquear 123.456.789-10"
• "liberar 123.456.789-10"
• "status topsapp"
🎫 TOPSAPP - ABERTURA DE SUPORTE:
• "abrir suporte"
• "criar suporte para João Silva"
• "novo chamado"
• "suporte cliente 123.456.789-10"
🔄 PROCESSO INTERATIVO DE SUPORTE:
1️⃣ Busca do cliente (nome ou CPF)
2️⃣ Seleção do serviço
3️⃣ Escolha da categoria do problema
4️⃣ Seleção do técnico responsável
5️⃣ Agendamento de data/hora para visita
6️⃣ Descrição detalhada do problema
7️⃣ Confirmação e criação do protocolo
📅 EXEMPLOS DE DATA/HORA:
• "amanhã às 14h"
• "sexta-feira 09:00"
• "15/08 às 16h30"
• "hoje 18h"
• "em 3 dias às 10h"
• "segunda-feira 08:30"
📋 DADOS CADASTRAIS COMPLETOS:
• Informações pessoais do cliente
• CPF, telefone, endereço completo
• Status atual do cliente (ativo/inativo)
• Dados de todos os serviços contratados
• Login, senha, IP fixo (quando aplicável)
• Plano contratado, valor mensalidade
• Dia de vencimento, status do serviço
• Dados FTTH: OLT, PON, VLAN, Serial ONU
• Modelo da ONU e níveis de sinal RX/TX
🔍 BUSCA INTELIGENTE:
• Busca por nome (com ou sem acentos)
• Busca por CPF (formatado ou não)
• Busca por ID do cliente
• Múltiplos resultados com seleção
• Interface com botões para ações rápidas
🔧 SERVIÇOS INDIVIDUAIS:
• Use "listar serviços CLIENTE" para ver todos os serviços
• Clique nos botões para bloquear/liberar serviços específicos
• Controle granular por serviço do cliente
📊 STATUS E MONITORAMENTO:
/status <equipamento> - Verifica status
• "verificar concentrador"
• "status do juniper"
🗣️ LINGUAGEM NATURAL:
• "Conectar no concentrador"
• "Desconectar cliente joao123"
• "Ver sinal DACM91569513"
• "Adicionar onu DACM91569513"
• "Remover onu DACM91569513"
• "Listar usuários conectados"
• "Reiniciar juniper"
• "Ping 131.0.192.254"
• "Buscar cliente João da Silva"
• "Ver faturas do CPF 123.456.789-10"
✅ EXEMPLOS PRÁTICOS:
• "desconectar cliente user123"
• "ver sinal DACM91569513"
• "adicionar onu DACM91569513"
• "remover onu DACM91569513"
• "buscar cliente João Pedro Afonso"
• "ver faturas cliente 123.456.789-10"
• "gerar boleto fatura456"
• "bloquear cliente 789"
• "listar clientes conectados"
• "verificar status concentrador"
🏢 OLTs DISPONÍVEIS:
• OLT FIBERHOME (131.0.192.9) - Via TL1
• OLT DITO (192.168.190.7) • OLT DITO (192.168.190.7)
• OLT COLMEIA (192.168.190.8) • OLT COLMEIA (192.168.190.8)
• OLT CANAA (192.168.190.9) • OLT CANAA (192.168.190.9)
• OLT CANAA 2 (192.168.190.10) • OLT CANAA 2 (192.168.190.10)
• OLT PEDRO AFONSO 1 (192.168.100.2) • OLT PEDRO AFONSO 1 (192.168.100.2)
• OLT CANAVIEIRAS (192.168.100.4) • OLT CANAVIEIRAS (192.168.100.4)`;
break;
🛡️ COMANDOS ADMINISTRATIVOS: case 'juniper':
• "admin" - Painel administrativo helpMessage = `👥 **JUNIPER - GERENCIAR USUÁRIOS**
• "usuarios autorizados" - Ver usuários com acesso
• "meu id" - Ver seu ID do Telegram
🔶 FIBERHOME - COMANDOS ESPECÍFICOS: **🚫 DESCONECTAR:**
• "status onu FHTT12345678" - Status detalhado de ONU específica • "desconectar cliente USUARIO"
• "verificar onu FHTT12345678" - Verificar ONU por serial • "kick usuário USUARIO"
• "onu status DeviceName" - Status por nome do dispositivo • "remover cliente USUARIO"
• "fiberhome status" - Status das conexões Fiberhome
• Use "ver sinal" para interface unificada
🔒 **SEGURANÇA:** **📊 LISTAR:**
🛡️ Bot restrito a usuários autorizados • "listar usuários conectados"
🆔 Para solicitar acesso, forneça seu ID`;
await this.bot.sendMessage(chatId, helpMessage); **🔧 STATUS:**
• "verificar concentrador"
• "status do juniper"
**🌐 PING:**
• "ping 131.0.192.254"
**🔄 REINICIAR:**
• "reiniciar juniper"`;
break;
case 'ssh':
helpMessage = `🔐 **SSH E CONEXÕES**
**📡 CONECTAR:**
• /ssh <equipamento>
• "ssh juniper"
• "acessar concentrador"
**📋 LISTAR:**
• /equipamentos
**🔧 EXEMPLOS:**
• "conectar no concentrador"
• "acessar juniper"
• "ssh olt"`;
break;
case 'suporte':
helpMessage = `🎫 **SISTEMA DE SUPORTE**
**🆕 ABRIR SUPORTE:**
• "abrir suporte"
• "criar suporte para João Silva"
• "novo chamado"
• "suporte cliente 123.456.789-10"
**🔄 PROCESSO INTERATIVO:**
1️⃣ Busca do cliente (nome ou CPF)
2️⃣ Seleção do serviço
3️⃣ Escolha da categoria do problema
4️⃣ Seleção do técnico responsável
5️⃣ Agendamento de data/hora
6️⃣ Descrição detalhada
7️⃣ Confirmação e protocolo
**📅 EXEMPLOS DE DATA/HORA:**
• "amanhã às 14h"
• "sexta-feira 09:00"
• "15/08 às 16h30"
• "hoje 18h"
• "em 3 dias às 10h"
• "segunda-feira 08:30"`;
break;
case 'admin':
helpMessage = `🛡️ **COMANDOS ADMINISTRATIVOS**
**👥 USUÁRIOS:**
• "admin"
• "usuarios autorizados"
• "meu id"
**📊 STATUS:**
• "fiberhome status"
• "status topsapp"
**🔧 FIBERHOME ESPECÍFICOS:**
• "status onu FHTT12345678"
• "verificar onu FHTT12345678"
• "onu status DeviceName"
**🔒 SEGURANÇA:**
• Bot restrito a usuários autorizados
• Para solicitar acesso, forneça seu ID`;
break;
default:
helpMessage = '❌ Seção de ajuda não encontrada.';
}
await this.bot.sendMessage(chatId, helpMessage, {
parse_mode: 'Markdown',
reply_markup: {
inline_keyboard: [[backButton]]
}
});
} }
/** /**
@@ -1047,6 +1114,9 @@ Digite /help para ver todos os comandos disponíveis!
} else if (data.startsWith('servicos_cliente_')) { } else if (data.startsWith('servicos_cliente_')) {
console.log(`🔍 Condição servicos_cliente_ atendida`); console.log(`🔍 Condição servicos_cliente_ atendida`);
await this.handleServicosClienteCallback(callbackQuery, data); await this.handleServicosClienteCallback(callbackQuery, data);
} else if (data.startsWith('help_')) {
console.log(`🔍 Condição help_ atendida`);
await this.handleHelpDetailCallback(callbackQuery, data);
} else if (data === 'separator') { } else if (data === 'separator') {
// Ignorar clique no separador visual // Ignorar clique no separador visual
await this.bot.answerCallbackQuery(callbackQuery.id); await this.bot.answerCallbackQuery(callbackQuery.id);