SSH: adiciona consulta usuario Juniper
Signed-off-by: Rodrigo Bertoldo de Sousa Martins <rodrigo.sousa.577@gmail.com>
This commit is contained in:
1 parent
89cf8844eb
commit
7f38d16821
3 files changed
+151
-2
No files matched your search
+51
-1
@@ -139,6 +139,11 @@ class BotHandler {
|
||||
await this.handleListUsers(chatId, target);
|
||||
break;
|
||||
|
||||
case 'consultar_usuario':
|
||||
console.log(`🔍 Executando handleConsultarUsuario com target: ${target}`);
|
||||
await this.handleConsultarUsuario(chatId, target);
|
||||
break;
|
||||
|
||||
case 'admin':
|
||||
case 'administracao':
|
||||
await this.handleAdmin(chatId);
|
||||
@@ -331,6 +336,7 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
• "remover onu SERIAL"
|
||||
|
||||
� **JUNIPER:**
|
||||
• "consultar usuario USER"
|
||||
• "desconectar cliente USER"
|
||||
• "listar usuários conectados"
|
||||
|
||||
@@ -463,7 +469,12 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
case 'juniper':
|
||||
helpMessage = `👥 **JUNIPER - GERENCIAR USUÁRIOS**
|
||||
|
||||
**🚫 DESCONECTAR:**
|
||||
**� CONSULTAR USUÁRIO:**
|
||||
• "consultar usuario USUARIO"
|
||||
• "ver usuario USUARIO"
|
||||
• "status usuario USUARIO"
|
||||
|
||||
**�🚫 DESCONECTAR:**
|
||||
• "desconectar cliente USUARIO"
|
||||
• "kick usuário USUARIO"
|
||||
• "remover cliente USUARIO"
|
||||
@@ -821,6 +832,45 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Consultar status de um assinante específico no concentrador Juniper
|
||||
*/
|
||||
async handleConsultarUsuario(chatId, username) {
|
||||
if (!username) {
|
||||
await this.bot.sendMessage(chatId, '❓ Especifique o login do usuário. Exemplo: "consultar usuario joao@provedor"');
|
||||
return;
|
||||
}
|
||||
|
||||
await this.bot.sendMessage(chatId, `🔍 Consultando usuário *${username}* no concentrador...`, { parse_mode: 'Markdown' });
|
||||
|
||||
try {
|
||||
const result = await this.ssh.getJuniperSubscriberInfo('juniper', username);
|
||||
|
||||
if (!result.success) {
|
||||
await this.bot.sendMessage(chatId, `❌ ${result.message}`);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!result.connected) {
|
||||
await this.bot.sendMessage(chatId, `🔴 *${username}* não está conectado no concentrador.`, { parse_mode: 'Markdown' });
|
||||
return;
|
||||
}
|
||||
|
||||
const message =
|
||||
`✅ *Usuário conectado!*\n\n` +
|
||||
`👤 *Login:* \`${result.username}\`\n` +
|
||||
`🌐 *Endereço IP:* \`${result.ip || 'N/A'}\`\n` +
|
||||
`🔌 *Interface PPPoE:* \`${result.interface || 'N/A'}\`\n` +
|
||||
`\n📋 *Linha bruta:*\n\`\`\`\n${result.rawLine}\n\`\`\``;
|
||||
|
||||
await this.bot.sendMessage(chatId, message, { parse_mode: 'Markdown' });
|
||||
|
||||
} catch (error) {
|
||||
console.error('Erro ao consultar usuário:', error);
|
||||
await this.bot.sendMessage(chatId, `❌ Erro interno: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Verificar sinal de ONU
|
||||
*/
|
||||
|
||||
Reference in new issue
Block a user