Recycled-IRC
http://recycled-irc.net/forum/

[TCL-XChat] Scan Nick|Ident|Host
http://recycled-irc.net/forum/viewtopic.php?f=5&t=1156
Page 1 sur 1

Auteur:  Fl0w3D [ Mer Mars 12, 2008 9:02 pm ]
Sujet du message:  [TCL-XChat] Scan Nick|Ident|Host

Voila un script TCL pour XChat qui sert à "scanner" tout les chans où l'on est afin de détecter quelqu'un, par nick, ident ou host.

Utilisation :
/scannick nick -- Scan par nick
/scanident ident -- Scan par ident
/scanhost host -- Scan par host
Les commandes sont sensibles à la casse et les joker ( * ) ne sont pas acceptés (Si quelqu'un sait comment faire, je suis preneur).

Code:
## ScanNick script pour XChat par Fl0w3D
## Entièrement et exclusivement fait par Fl0w3D :p
## Licence Creative Commons By NC SA 2.0
## http://creativecommons.org/licenses/by-nc-sa/2.0/fr

alias scannick {
  print "06- 08$_rest 06---------------------------"
  set chancommun 0
  set serviscommun 0
  set servcommun 0
  set nbrserv 0
  set nbrchans 0
  foreach s [servers] {
    set nbrserv [expr $nbrserv+1]
    set serviscommun 0
    set userhost "Non détecté."
    print "  06|- 03[channel $s]06 -"
    foreach c [channels $s] {
      set nbrchans [expr $nbrchans+1]
      foreach u [users $s $c] {
        if { [lindex $u 0] == "$_rest" } {
          print "  06|  03|-04 [lindex $u 2] 03- [format "%-1s" $c]"
          set chancommun [expr 1+$chancommun]
     set serviscommun 1
          set userhost [lindex $u 1]
        }
      }
    }
    set servcommun [expr $servcommun+$serviscommun]
    print "  06|  03`-- 08Host : $userhost03 --"
  }
  print "  06|- Nombre de chans en commun : $chancommun sur $nbrchans"
  print "  06`- Nombre de serveurs en commun : $servcommun sur $nbrserv"
}

alias scanhost {
  print "06- Recherche : 08*!*@$_rest 06---------------------------"
  set chancommun 0
  set serviscommun 0
  set servcommun 0
  set nbrserv 0
  set nbrchans 0
  foreach s [servers] {
    set nbrserv [expr $nbrserv+1]
    set serviscommun 0
    set userhost "Non détecté."
    print "  06|- 03[channel $s]06 -"
    foreach c [channels $s] {
      set nbrchans [expr $nbrchans+1]
      foreach u [users $s $c] {
        if { [lindex [split [lindex $u 1] "@"] 1] == "$_rest" } {
          print "  06|  03|-04 [lindex $u 2] 03- [format "%-1s" $c] - [lindex $u 0]"
          set chancommun [expr 1+$chancommun]
     set serviscommun 1
          set userhost [lindex $u 1]
        }
      }
    }
    set servcommun [expr $servcommun+$serviscommun]
    print "  06|  03`-- 08Host : $userhost03 --"
  }
  print "  06|- Nombre de chans en commun : $chancommun sur $nbrchans"
  print "  06`- Nombre de serveurs en commun : $servcommun sur $nbrserv"
}

alias scanident {
  print "06- Recherche : 08*!$_rest@* 06---------------------------"
  set chancommun 0
  set serviscommun 0
  set servcommun 0
  set nbrserv 0
  set nbrchans 0
  foreach s [servers] {
    set nbrserv [expr $nbrserv+1]
    set serviscommun 0
    set userhost "Non détecté."
    print "  06|- 03[channel $s]06 -"
    foreach c [channels $s] {
      set nbrchans [expr $nbrchans+1]
      foreach u [users $s $c] {
        if { [lindex [split [lindex $u 1] "@"] 0] == "$_rest" } {
          print "  06|  03|-04 [lindex $u 2] 03- [format "%-1s" $c] - [lindex $u 0]"
          set chancommun [expr 1+$chancommun]
     set serviscommun 1
          set userhost [lindex $u 1]
        }
      }
    }
    set servcommun [expr $servcommun+$serviscommun]
    print "  06|  03`-- 08Host : $userhost03 --"
  }
  print "  06|- Nombre de chans en commun : $chancommun sur $nbrchans"
  print "  06`- Nombre de serveurs en commun : $servcommun sur $nbrserv"
}


EDIT :
Pour tekystock, pour avoir le résultat dans une nouvelle fenetre :

Trouver alias scannick {
Ajouter, ligne suivante,
/query "-ScanNick-"
set context "-ScanNick-"
setcontext $context


Trouver alias scanhost {
Ajouter, ligne suivante,
/query "-ScanNick-"
set context "-ScanNick-"
setcontext $context


Trouver alias scanident {
Ajouter, ligne suivante,
/query "-ScanNick-"
set context "-ScanNick-"
setcontext $context

Page 1 sur 1 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/