on *:quit:{
var %a = 1, %b = $comchan($nick,0)
while %a <= %b {
.hadd -m Seen $+($nick,.,$chan) $ctime
inc %a
}
}
on *:kick:#:{
.hadd -m Seen $+($knick,.,$chan) $ctime
}
on *:part:#:{
.hadd -m Seen $+($nick,.,$chan) $ctime
}
on *:text:!seen*:#:{
if !$2 {
describe # has seen $hfind(Seen,$+(*,.,$chan),0,w) people
}
else {
var %b = $hfind(Seen,$+($2,*,.,$chan),0,w)
if !%b {
describe # hasn't seen anyone with a nick that starts with $2
}
elseif %b = 1 {
var %nick = $gettok($hfind(Seen,$+($2,*,.,$chan),1,w).item,1,46)
%dpt = $hfind(Seen,$+($2,*,.,$chan),1,w).data
if !$nick($chan,%nick) {
describe # saw %nick leaving at $asctime(%dpt,ddd mmm dd yyyy @ hh:nn:ss ap)
.msg $chan that was $duration($calc($ctime - %dpt)) ago
}
else {
describe # schedules an eye examination for $nick $+ , since %nick is in the room
}
}
else {
var %a = 1
describe # has seen $v1 people whose nicks have started with $2
.msg $chan These people are:
while %a <= %b {
var %nick = $gettok($hfind(Seen,$+($2,*,.,$chan),%a,w).item,1,46)
%dpt = $hfind(Seen,$+($2,*,.,$chan),%a,w).data
.timer 1 %a .msg $chan %a $+ ) %nick leaving at $asctime(%dpt,ddd mmm dd yyyy @ hh:nn:ss ap)
.timer 1 %a .msg $chan that was $duration($calc($ctime - %dpt)) ago
inc %a
}
}
}
}
on *:join:#:{
.hadd -m Seen $+($nick,.,$chan) $ctime
}
on *:start:{
if !$hget(Seen) { .hmake Seen 100 }
if $exists(Seen.hsh) { .hload Seen Seen.hsh }
}
on *:exit:{
.hsave -o Seen Seen.hsh
}
on *:disconnect:{
.hsave -o Seen Seen.hsh
}