Portale IRC - Guide scripts e snippet

giovedì 9 dicembre 2010

Controllo Nick - Vedere Nick Precedenti di un Utente IRC

Quante volte vi sarà capitato di avere il sospetto che un utente con il nickname "Farfallina86" in precedenza vi abbia parlato con il nick "Bruno64" ? Sicuramente è un fatto sgradevole, ma con questo scriptino che lavora sulle "mask" ( Nick!Ident@host) degli utenti memorizzandole in hashtables, vi comunicherà in "echo" (lo vedrete solo voi) se un nickname ha precedentemente Joinato con un altro nickname, inoltre clickando con il tasto destro del mouse sul nick "sospetto" nella nicklist, attraverso il menù "Verifica Nick" -> "Nick Precedenti"potrete verificare quanto sopra, o attraverso il menù "azzera" resettare il tutto.. ma veniamo al "Cuore" del nostro script:
ON *:START: {
    hmake trackusers 10
  if ($isfile(trackusers.dat)) {
    hload trackusers trackusers.dat
  }
}
on *:JOIN:#: {
  if ($hget(trackusers,$address($nick,2))) {
    var %n = $ifmatch
      if ($istok(%n,$nick,32)) { var %d = $deltok(%n,$findtok(%n,$nick,1,32),32) }
    else { var %d = %n }
      if (!%d) { return }
    echo $colour(info) -ti2 $chan 4* $nick 3Prima è entrato con i/il nick $+ $iif($numtok(%d,32) > 1,s: 8,: 8) %d 
    if (!$istok(%n,$nick,32)) {
      hadd trackusers $address($nick,2) %n $nick
    }
  }
  else {
      hadd trackusers $address($nick,2) $nick
  }
}
on *:NICK: {
  if ($hget(trackusers,$address($newnick,2))) {
    var %n = $ifmatch
    if (!$istok(%n,$newnick,32)) {
        hadd trackusers $address($newnick,2) %n $newnick
    }
  }
  else {
    hadd trackusers $address($nick,2) $newnick
  }
}
menu nicklist {
  Verifica Nick
  .Nick Precedenti:{
    if (!$address($$1,2)) { echo $colour(info) -ti2 # 4* IAL non aggiornata per $$1 $+ , un attimo... | userhost $$1 | return }
    if ($hget(trackusers,$address($$1,2))) {
      var %n = $ifmatch
      if ($istok(%n,$$1,32)) { var %d = $deltok(%n,$findtok(%n,$$1,1,32),32) }
      else { var %d = %n }
      if (!%d) { goto notknown }
      echo $colour(info) -ti2 # 3* $$1 13Era conosciuto con i\il nick $+ $iif($numtok(%d,32) > 1,s: 8,: 8) %d
    }
    else {
      :notknown
      echo $colour(info) -ti2 # 4* $$1 13Nessun Risultato
    }
  }
  .Azzera:hdel trackusers $address($$1,2)
}
ON *:EXIT: {
  if ($hget(trackusers)) { hsave -o trackusers trackusers.dat }
}

1 commento:

  1. ciao, vorrei sapere si engine red3 dove si mette questo script, in quale cartella devo copiarlo?

    RispondiElimina