;
;Usage /Auto.GIAAN
; * starts a 10 minute timer for all channels Grey.Idle.And.Away.Nicks check
;
alias Auto.GIAAN { .timer.Auto.GIAAN 0 600 Grey.Idle.And.Away.Nicks | Grey.Idle.And.Away.Nicks }
;
;Usage /Grey.Idle.And.Away.Nicks <channel> <channel> <channel> ...
; * Entering <channel> values well limit the scope of the sweep to said <channel(s)>
; * Not entering any <channels> well default to ALL channels you are on
;
; * Due to the nature of the cnick list launching this script on multiple servers has unpredictable results
;
alias Grey.Idle.And.Away.Nicks {
;;;;window -e -t30,60,70,80,90,100 @cp1 | aline @cp1 $+ $str(=,$len(- $date - $time -)) | aline @cp1 - $date - $time - | aline @cp1 $+ $str(-,$len(- $date - $time -))
var %whois.count = 0
var %m = $chan(0) | if ($0) { var %m = $0 }
var %channels | if ($0) { var %channels = $1- }
var %i = 1
while (%i <= %m) {
var %channel = $gettok($($+($,%i),2) $chan(%i),1,32)
var %x = $nick(%channel,0)
;;;;aline @CP1 $+ %channel $chr(9) ********** $chr(9) * $chr(9) * $chr(9) * $chr(9) $iif(%x,%x,0)
while (%x) {
var %nick = $nick(%channel,%x)
;;;;aline @CP1 %channel $chr(9) %nick $chr(9) $nick(%channel,%x).idle $chr(9) $cnick(%nick).color $chr(9) %cnick. [ $+ [ %nick ] ] $chr(9)
if ($nick(%channel,%x).idle >= 60) {
if ($cnick(%nick).color != 14) {
if ($cnick(%nick)) { set %cnick. [ $+ [ %nick ] ] $cnick(%nick).color }
else { ;unset %cnick. [ $+ [ %nick ] ] } | ; *** unremark if you want to kill %cnick.[$+[%nick]] of manually removed cnick value
.cnick %nick 14
}
}
else {
if ($cnick(%nick).color == 14) {
if ($var(%cnick. [ $+ [ %nick ] ] ,1)) { .cnick %nick %cnick. [ $+ [ %nick ] ] | unset %cnick. [ $+ [ %nick ] ] }
else { .cnick -r %nick }
}
if (!$timer($+(.whois.,%nick))) {
inc %whois.count
.timer $+ $+(.whois.,%nick) 1 %whois.count whois $!( $+ %nick $+ ,)
}
}
dec %x
}
inc %i
}
if (%whois.count) {
.enable #GIAAN.WHOIS.RAWS
inc %whois.count
.timer.whois.#GIAAN.WHOIS.RAWS 1 %whois.count whois disable.#GIAAN.WHOIS.RAWS
.timer.disable.#GIAAN.WHOIS.RAWS 1 $calc(%whois.count + 60) .disable #GIAAN.WHOIS.RAWS
timers
}
}
;
#GIAAN.WHOIS.RAWS on
raw 301:*:{
haltdef
var %nick = $$2
if ($cnick(%nick).color != 14) {
if ($cnick(%nick)) { set %cnick. [ $+ [ %nick ] ] $cnick(%nick).color }
else { unset %cnick. [ $+ [ %nick ] ] }
.cnick %nick 14
}
}
raw 318:*:{ haltdef | if ($2 == disable.#GIAAN.WHOIS.RAWS) { .timer.disable.#GIAAN.WHOIS.RAWS off | .disable #GIAAN.WHOIS.RAWS } }
;
raw 302:*:{ haltdef }
raw 303:*:{ haltdef }
raw 304:*:{ haltdef }
raw 305:*:{ haltdef }
raw 306:*:{ haltdef }
raw 307:*:{ haltdef }
raw 308:*:{ haltdef }
raw 309:*:{ haltdef }
raw 310:*:{ haltdef }
raw 311:*:{ haltdef }
raw 312:*:{ haltdef }
raw 313:*:{ haltdef }
raw 314:*:{ haltdef }
raw 315:*:{ haltdef }
raw 316:*:{ haltdef }
raw 317:*:{ haltdef }
raw 319:*:{ haltdef } | ; I dont have the slightest idea how many of these or what other ones might be tripped on a whois, you set to the right ones.
#GIAAN.WHOIS.RAWS end
;
on ^*:TEXT:*:#:{
if ($cnick($nick).color == 14) {
if ($var(%cnick. [ $+ [ $nick ] ] ,1)) { .cnick $nick %cnick. [ $+ [ $nick ] ] | unset %cnick. [ $+ [ $nick ] ] }
else { .cnick -r $nick }
}
}
;
on *:NICK:{
if ($var(%cnick. [ $+ [ $nick ] ] ,1)) {
set -s %cnick. [ $+ [ $newnick ] ] %cnick. [ $+ [ $nick ] ]
unset -s %cnick. [ $+ [ $nick ] ]
.cnick -r $nick
.cnick $newnick 14
}
}