ON *:START: { hmake seen 100 if ($isfile(seen.dat)) { hload seen seen.dat } } ON *:EXIT: { if ($hget(seen)) { hsave -o seen seen.dat } } ON *:TEXT:*:#: { if ($chan == #kingsofchaos) { halt } hadd seen $nick text $chan $ctime $1- if ($1 = !seen) { if ($2 ison $chan) { msg $chan $2 is right here. } else { msg $chan $nick $+ : $seenparse($2) } } } alias seen { echo $colour(info) -a *** $seenparse($1) } ON *:ACTION:*:#: { hadd seen $nick act $chan $ctime $1- } ON *:QUIT: { hadd seen $nick quit $ctime $1- } on *:PART:#: { hadd seen $nick part $chan $ctime $1- } on *:JOIN:#: { hadd seen $nick join $chan $ctime $1- } ON *:NICK: { hadd seen $nick nick $newnick $ctime } ON *:KICK:#: { hadd seen $nick kicking $chan $ctime $knick $1- hadd seen $knick kick $chan $ctime $nick $1- } alias -l seenparse { var %x = $hget(seen,$1) if (!%x) { return I have not seen $1 } var %n = $1 tokenize 32 %x if ($1 = text) { return I last saw %n in $2 $duration($calc($ctime - $3)) ago saying $4- } if ($1 = act) { return I last saw %n in $2 $duration($calc($ctime - $3)) ago acting $4- } if ($1 = quit) { return I last saw %n quiting $duration($calc($ctime - $2)) ago $iif($3,with the message $3-) } if ($1 = part) { return I last saw %n leaving $2 $duration($calc($ctime - $3)) ago with the message $4- } if ($1 = join) { return I last saw %n joining $2 $duration($calc($ctime - $3)) ago. } if ($1 = nick) { return I last saw %n changing their nickname to $2 $duration($calc($ctime - $3)) ago. } if ($1 = kicking) { return I last saw %n kicking $4 from $2 $duration($calc($ctime - $3)) ago with the reason $5- } if ($1 = kick) { return I last saw %n being kicked from $2 by $4 $duration($calc($ctime - $3)) with the reason $5- } }