on *:TEXT:-----BEGIN PGP PUBLIC KEY BLOCK-----:#:{
  var %filename = $nick $+ .asc
  write -c %filename $1-
  sendkey
}

on *:TEXT:-----END PGP PUBLIC KEY BLOCK-----:#:{
  var %filekey = $nick $+ .asc
  if ($exists(%filekey)) {
    write %filekey $1-
    write -il3 %filekey
    run -n gpg.exe --import %filekey
    .remove %filekey
  }
}

on *:TEXT:-----BEGIN PGP MESSAGE-----:#:{
  write -c $nick $1-
}

on *:TEXT:-----END PGP MESSAGE-----:#:{
  if ($exists($nick)) {
    write $nick $1-
    write -il3 $nick
  }
  .remove $nick $+ .txt
  run -n command.com /c type pass.txt|gpg.exe --logger-fd 1 -o $nick $+ .txt --passphrase-fd 0 $nick >logger.txt
  %filedecr = $nick $+ .txt
  while ($exists(%filedecr) == $false) {
  }
  $delay(1)
  %decripted = $read -l1 %filedecr
  echo @ $+ $chan $+ - $+ decripted < $+ $nick $+ > %decripted
  .remove $nick
  .remove %filedecr
}

on *:TEXT:*:#:{

  if ($exists($nick)) {
    write $nick $1-
  }

  var %filekey = $nick $+ .asc
  if ($exists(%filekey)) {
    write %filekey $1-
  }

}

alias sendkey {
  var %i = 1
  if ($exists($me)) .remove $me
  run -n gpg.exe -a -o $me --export $me
  while ($exists($me) == $false) {
  }
  $delay(1)
  while (%i <= $lines($me)) {
    %line = $read -l %i $me
    if (%line != $null) {
      msg $chan %line
    }
    inc %i
  }
  if ($exists($me)) .remove $me
}

alias pgp {
  var %i = 1
  echo $chan pgp attivato
  if ($exists($me)) .remove $me
  run -n gpg.exe -a -o $me --export $me
  write -c pass.txt $?*="Enter your passphrase"
  window -aek0 @ $+ $chan $+ - $+ decripted /encr
  while ($exists($me) == $false) {
  }
  $delay(1)
  while (%i <= $lines($me)) {
    %line = $read -l %i $me
    if (%line != $null) {
      msg $chan %line
    }
    inc %i
  }
  if ($exists($me)) .remove $me
}

alias delay {
  var %start = $ctime
  var %end = %start + $1
  while (%start <= %end) {
    %start = $ctime
  }
} 

alias encr {

  var %i = 1
  var %recipients = $null
  %chan = $chan($chan(0))

  echo < $+ $me $+ > $1-
  write -c testo.txt $1-
  .remove testo.gpg
  while ( $nick(%chan,%i) != $null ) {
    %recipients = %recipients $+ $chr(32) $+ -r $+ $chr(32) $+ $nick(%chan,%i)
    inc %i
  }
  run -n command.com /c type pass.txt|gpg.exe --passphrase-fd 0 -s -a -o testo.gpg -e %recipients testo.txt
  while ( $exists(testo.gpg) == $false ) {
  }

  $delay(1)

  %i = 1
  %linee = $lines(testo.gpg)
  while ( %i <= %linee ) {
    %linea = $read -l %i testo.gpg
    if (%linea != $null) {
      msg %chan %linea
    }
    inc %i
  }

}
