diff --git a/src/bot/handler.js b/src/bot/handler.js index 6d090d9..ee2963f 100644 --- a/src/bot/handler.js +++ b/src/bot/handler.js @@ -6181,7 +6181,27 @@ Digite /help para ver todos os comandos disponíveis! }); } if (oltEncontrada) { - console.log(`✅ OLT encontrada por nome: "${oltEncontrada.nome}" (keyword: "${keyword}")`); + console.log(`✅ OLT encontrada por nome (oltId): "${oltEncontrada.nome}" (keyword: "${keyword}")`); + } + } + + // 2b. Para Fiberhome: buscar por keyword do oltHost (nome da OLT retornado pelo SSH) + if (!oltEncontrada && onuData.oltHost) { + const keyword = onuData.oltHost.toLowerCase(); + const keywords = keyword.split(/[\s_\-]+/).filter(k => k.length > 1); + oltEncontrada = olts.find(o => { + const nome = (o.nome || '').toLowerCase(); + return keywords.every(k => nome.includes(k)); + }); + // Se não encontrou com todos, tenta com qualquer um + if (!oltEncontrada) { + oltEncontrada = olts.find(o => { + const nome = (o.nome || '').toLowerCase(); + return keywords.some(k => nome.includes(k)); + }); + } + if (oltEncontrada) { + console.log(`✅ OLT encontrada por oltHost: "${oltEncontrada.nome}" (keyword: "${keyword}")`); } }