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 $contextTrouver
alias scanhost {Ajouter, ligne suivante,
/query "-ScanNick-"
set context "-ScanNick-"
setcontext $contextTrouver
alias scanident {Ajouter, ligne suivante,
/query "-ScanNick-"
set context "-ScanNick-"
setcontext $context