/**
 * Эмодзи в Telegram: восстановление / «подключился» / BGP session up — не сирена.
 * Текст совпадает с форматом `evaluate-rule` (`… — условие`, несколько строк через \\n).
 */
function isRecoveryLine(line: string): boolean {
  const t = line.toLowerCase()
  return (
    /[—\-]\s*(восстанов|подключ)/i.test(t) ||
    /восстановил[аи]?\s+сессию/i.test(t) ||
    /снова\s+в\s+сети/i.test(t)
  )
}

/** «Хорошие» переходы: не слать дубль при том же payloadHash (см. `run-once`). */
export function isPositiveRecoveryTelegramText(fullText: string): boolean {
  const lines = fullText
    .split(/\n+/)
    .map((l) => l.trim())
    .filter(Boolean)
  if (lines.length === 0) return false
  if (lines.length === 1) return isRecoveryLine(lines[0]!)
  return lines.every(isRecoveryLine)
}

export function pickTelegramAlertEmoji(fullText: string): string {
  return isPositiveRecoveryTelegramText(fullText) ? "✅" : "🚨"
}
