on *:text:*:#invicta:{
writeini seen.txt $nick time $ctime
writeini seen.txt $nick action text $1-
if ($1 == !seen) {
if ($2) {
notice $nick $seenret($2)
if ($2 ison $chan) {
notice $nick $2 is also currently here.
}
}
else { notice $nick You need to specify a user to check }
}
}
on *:action:*:#invicta:{ writeini seen.txt $nick time $ctime | writeini seen.txt $nick action action $1- }
on *:join:#invicta:{ writeini seen.txt $nick time $ctime | writeini seen.txt $nick action join }
on *:part:#invicta:{ writeini seen.txt $nick time $ctime | writeini seen.txt $nick action part $1- }
on *:quit:{ writeini seen.txt $nick time $ctime | writeini seen.txt $nick action quit $1- }
on *:nick:{ writeini seen.txt $nick time $ctime | writeini seen.txt $nick action nick $newnick }
alias seenret {
var %time = $duration($calc($ctime - $readini(seen.txt,$1,time)),2) ago
var %x = $readini(seen.txt,$1,action)
if ($gettok(%x,1,32) == text) {
return $1 was last seen saying: $right(%x,-5) %time
}
elseif ($gettok(%x,1,32) == action) {
return $1 was last seen performing: $right(%x,-7) %time
}
elseif ($gettok(%x,1,32) == join) {
return $1 was last seen joining the channel %time
}
elseif ($gettok(%x,1,32) == part) {
return $1 was last seen parting the channel $iif($len($right(%x,-5)) >= 2,with the reason $right(%x,-5)) %time
}
elseif ($gettok(%x,1,32) == quit) {
return $1 was last seen quitting the network with the reason $right(%x,-5) %time
}
elseif ($gettok(%x,1,32) == nick) {
return $1 was last seen changing his/her nick from $1 to $right(%x,-5) %time
}
elseif (!%x) {
return I have not seen $1 do anything.
}
}