cgnat: fix
Signed-off-by: Rodrigo Martins <rodrigo@martinsevieira.adv.br>
This commit is contained in:
1 parent
8449bd0442
commit
b0f58144a8
2 files changed
+82
-75
No files matched your search
+11
-29
@@ -9006,10 +9006,11 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
{ parse_mode: 'Markdown' }
|
||||
);
|
||||
|
||||
const result = await this.topsapp.obterAcessosPorIp(
|
||||
const result = await this.topsapp.buscarSessaoPorHorario(
|
||||
session.privateIP,
|
||||
dataStr,
|
||||
dataStr
|
||||
dataStr,
|
||||
horaStr || null
|
||||
);
|
||||
|
||||
if (!result.success) {
|
||||
@@ -9022,39 +9023,20 @@ Digite /help para ver todos os comandos disponíveis!
|
||||
|
||||
if (result.total === 0) {
|
||||
const extra = result.totalGeral > 0
|
||||
? `\n\n_(${result.totalGeral} registros no período, nenhum com IP \`${session.privateIP}\`)_`
|
||||
: '';
|
||||
? `\n\n_${result.totalGeral} registros retornados para ${dataStr} — nenhuma sessão com IP \`${session.privateIP}\` ou ativa às ${horaStr || 'hora informada'}._`
|
||||
: `\n\n_Nenhum registro retornado para ${dataStr}._`;
|
||||
await this.bot.sendMessage(chatId,
|
||||
`ℹ️ Nenhum acesso encontrado para o IP \`${session.privateIP}\` em ${dataStr}.${extra}`,
|
||||
`ℹ️ Não foi possível identificar o cliente para \`${session.privateIP}\` em ${dataStr}${horaStr ? ' ' + horaStr : ''}.${extra}`,
|
||||
{ parse_mode: 'Markdown' }
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
// Filtrar por hora se informada
|
||||
let filtrados = result.dados;
|
||||
if (horaStr) {
|
||||
const [hh, mm] = horaStr.split(':').map(Number);
|
||||
const refMs = hh * 3600000 + mm * 60000;
|
||||
const janela = 3600000; // ±1 hora
|
||||
filtrados = result.dados.filter(a => {
|
||||
const inicioMatch = a.inicio ? a.inicio.match(/(\d{2}):(\d{2})/) : null;
|
||||
if (!inicioMatch) return true;
|
||||
const aMs = parseInt(inicioMatch[1]) * 3600000 + parseInt(inicioMatch[2]) * 60000;
|
||||
return Math.abs(aMs - refMs) <= janela;
|
||||
});
|
||||
}
|
||||
|
||||
if (filtrados.length === 0) {
|
||||
await this.bot.sendMessage(chatId,
|
||||
`ℹ️ Nenhum acesso de \`${session.privateIP}\` próximo às ${horaStr} em ${dataStr}.\n_(${result.total} registro(s) no dia fora desse horário)_`,
|
||||
{ parse_mode: 'Markdown' }
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
const titulo = `Acessos em ${dataStr}${horaStr ? ' ± 1h de ' + horaStr : ''}`;
|
||||
await this._exibirAcessosCgnat(chatId, session.privateIP, filtrados, titulo);
|
||||
const aviso = result.modoFallback
|
||||
? '\n⚠️ _IP não encontrado nos registros (sessão encerrada). Mostrando sessões ativas nesse horário._\n'
|
||||
: '';
|
||||
const titulo = `Sessão em ${dataStr}${horaStr ? ' ' + horaStr : ''}`;
|
||||
await this._exibirAcessosCgnat(chatId, session.privateIP, result.dados, titulo + aviso);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user