This snippet allows you to scan certains host from a channel and it shows the results in a separated window. Just try it...
ON me:*:join:#:{
if ($chan(#).ial == $true) { halt }
if ($chan(#).ial == $false) {
.timer 1 2 .who #
.enable #shost
}
}
#shost off
raw 352:*: halt
raw 315:*:{
haltdef
.disable #shost
}
#shost end
menu channel {
-
Scan
.-
.Mask:{
set %shost $?="Mask to scan for ?"
if ($ialchan(%shost,#,0) == 0) { echo $color(info) -at Mask %shost is not on this channel. }
if ($ialchan(%shost,#,0) == 1) {
clear @SHost
window -ble @SHost
aline @SHost Scanning for mask $! $+ ...
aline @Shost $str(-,30)
aline @SHost $str( ,1) $+ Nickname $str( ,15) Ident $str( ,15) Hostname
aline @SHost $str( ,30)
aline @SHost $str( ,1) $ialchan(%shost,#,1).nick $str( ,$calc(22 - $len($ialchan(%shost,#,1).nick))) $ialchan(%shost,#,1).user $str( ,$calc(42 - 22 - $len($ialchan(%shost,#,1).user))) $ialchan(%shost,#,1).host
window -ble @SHost
}
if ($ialchan(%shost,#,0) > 1) {
var %host = 1
var %hostn = $ialchan(%shost,#,0)
clear @SHost
window -ble @SHost
aline @SHost Scanning for mask $! $+ ...
aline @SHost $ialchan(%shost,#,0) matches
aline @Shost $str(-,30)
aline @SHost $str( ,1) $+ Nickname $str( ,15) Ident $str( ,15) Hostname
aline @SHost $str( ,30)
while %host <= %hostn {
aline @SHost $str( ,1) $ialchan(%shost,#,%host).nick $str( ,$calc(22 - $len($ialchan(%shost,#,%host).nick))) $ialchan(%shost,#,%host).user $str( ,$calc(42 - 22 - $len($ialchan(%shost,#,%host).user))) $ialchan(%shost,#,%host).host
inc %host
}
window -ble @SHost
}
}
.$iif((%shost != $null), %shost):{
if ($ialchan(%shost,#,0) == 0) { echo $color(info) -at Mask %shost is not on this channel. }
if ($ialchan(%shost,#,0) == 1) {
clear @SHost
window -ble @SHost
aline @SHost Scanning for mask %shost $+ ...
aline @SHost $ialchan(%shost,#,0) matches
aline @Shost $str(-,30)
aline @SHost $str( ,1) $+ Nickname $str( ,15) Ident $str( ,15) Hostname
aline @SHost $str( ,30)
; aline @SHost $str( ,1) $ialchan(%shost,#,1).nick $str( ,$calc(22 - $len($ialchan(%shost,#,1).nick))) $ialchan(%shost,#,1).user $str( ,$calc(15 - $ialchan(%shost,#,1).user))) $ialchan(%shost,#,1).host
aline @SHost $str( ,1) $ialchan(%shost,#,1).nick $str( ,$calc(22 - $len($ialchan(%shost,#,1).nick))) $ialchan(%shost,#,1).user $str( ,$calc(42 - 22 - $len($ialchan(%shost,#,1).user))) $ialchan(%shost,#,1).host
window -ble @SHost
}
if ($ialchan(%shost,#,0) > 1) {
var %host = 1
var %hostn = $ialchan(%shost,#,0)
clear @SHost
window -ble @SHost
aline @SHost Scanning for mask %shost $+ ...
aline @SHost $ialchan(%shost,#,0) matches
aline @Shost $str(-,30)
aline @SHost $str( ,1) $+ Nickname $str( ,15) Ident $str( ,15) Hostname
aline @SHost $str( ,30)
while %host <= %hostn {
aline @SHost $str( ,1) $ialchan(%shost,#,%host).nick $str( ,$calc(22 - $len($ialchan(%shost,#,%host).nick))) $ialchan(%shost,#,%host).user $str( ,$calc(42 - 22 - $len($ialchan(%shost,#,%host).user))) $ialchan(%shost,#,%host).host
inc %host
}
window -ble @SHost
}
}
}