home *** CD-ROM | disk | FTP | other *** search
- ;%%%%%%%%%%%%%%%%%%%%%%%%
- ;script iSeen
- ;version 2.0
- ;author Quietust
- ;email quietust@ircN.org
- ;url http://www.ircN.org
- ;%%%%%%%%%%%%%%%%%%%%%%%%
- on 1:TEXT:!seen &:# {
- if ($isvalidchan(%seenchans,$chan)) {
- if ($2 == $me) msg $chan $ncomp($nick) I'm right here!
- elseif ($nick == $2) msg $chan $ncomp($nick) You're right here!
- elseif ($2 ison $chan) msg $chan $ncomp($nick) $b($2) is right here!
- else {
- if ($readini -n users.ini $usrl($2) seen != $null) {
- lastseen $usrl($2) $readini -n users.ini $usrl($2) seen
- msg $chan $ncomp($nick) $result
- }
- elseif ($read -ns [ $+ [ $2 ] ] seen.ini != $null) {
- lastseen $2 $read -ns [ $+ [ $2 ] ] seen.ini
- msg $chan $ncomp($nick) $result
- }
- elseif ($usrhost($2)) msg $chan $ncomp($nick) Sorry, I haven't seen $b($2) lately.
- }
- }
- }
- alias lastseen {
- if ($4 == action) set %seen.msg do " $+ $6- $+ " in $5
- elseif ($4 == ban) set %seen.msg $4 $6 on $5
- elseif ($4 == ctcp) set %seen.msg make a CTCP $6 request on $5
- elseif ($4 == deop) set %seen.msg $4 $6 on $5
- elseif ($4 == deopped) set %seen.msg get $4 by $6 on $5
- elseif ($4 == devoice) set %seen.msg $4 $6 on $5
- elseif ($4 == devoiced) set %seen.msg get $4 by $6 on $5
- elseif ($4 == join) set %seen.msg $4-5
- elseif ($4 == kick) set %seen.msg $4 $6 from $5 $iif($7,with the reason " [ $+ [ $7- ] $+ ] ")
- elseif ($4 == kicked) set %seen.msg get $4 from $5 by $6 $iif($7,with the reason " [ $+ [ $7- ] $+ ] ")
- elseif ($4 == mode) set %seen.msg set $4 $6- on $5
- elseif ($4 == nick) set %seen.msg change nicknames $iif($6,from [ $6 ] ) to $5
- elseif ($4 == notice) set %seen.msg $4-5 that " $+ $6- $+ "
- elseif ($4 == op) set %seen.msg $4 $6 on $5
- elseif ($4 == opped) set %seen.msg get $4 by $6 on $5
- elseif ($4 == part) set %seen.msg $4-5 $iif($6,with the message " [ $+ [ $6- ] $+ ] ")
- elseif ($4 == quit) set %seen.msg $4 IRC $iif($5,with the message " [ $+ [ $5- ] $+ ] ")
- elseif ($4 == serveropped) set %seen.msg get $4 by $6 on $5
- elseif ($4 == text) set %seen.msg say " $+ $6- $+ " in $5
- elseif ($4 == topic) set %seen.msg $iif($6,set,clear) the $4 on $5 $iif($6,to " [ $+ [ $6- ] $+ ] ")
- elseif ($4 == unban) set %seen.msg $4 $6 on $5
- elseif ($4 == voice) set %seen.msg $4 $6 on $5
- elseif ($4 == voiced) set %seen.msg get $4 by $6 on $5
- else unset %seen.msg
- return I last saw $b($1) $paren($3) %seen.msg on $asc-time($2) ( $+ $duration($sub($ctime,$2)) ago).
- }
- alias clrseen write -c seen.ini
- alias remseen if ($read -ns [ $+ [ $1 ] ] seen.ini != $null) write -ds [ $+ [ $1 ] ] seen.ini
- alias recseen {
- if (%seenbot != on) return
- if ($usr($1)) writeini -n users.ini $usr($1) seen $ctime $strip($2-)
- else {
- if ($read -ns [ $+ [ $1 ] ] seen.ini != $null) write -ds [ $+ [ $1 ] ] seen.ini
- write seen.ini $1 $ctime $2-
- }
- }
- ctcp 1:*:# {
- recseen $nick $address ctcp $chan $1-
- }
- on 1:ACTION:*:# {
- recseen $nick $address action $chan * $nick $1-
- }
- on 1:BAN:# {
- recseen $nick $address ban $chan $banmask
- }
- on 1:DEOP:# {
- if ($opnick == $nick) recseen $nick $address deop $chan himself
- else {
- recseen $nick $address deop $chan $opnick
- recseen $opnick $remove($address($opnick,0),*!) deopped $chan $nick
- }
- }
- on 1:DEVOICE:# {
- if ($vnick == $nick) recseen $nick $address devoice $chan himself
- else {
- recseen $nick $address devoice $chan $vnick
- recseen $vnick $remove($address($vnick,0),*!) devoiced $chan $nick
- }
- }
- on 1:JOIN:# {
- recseen $nick $address join $chan
- }
- on 1:KICK:# {
- if ($knick == $nick) recseen $nick $address kick $chan himself
- else {
- recseen $nick $address kick $chan $knick $1-
- recseen $knick $remove($address($knick,0),*!) kicked $chan $nick $1-
- }
- }
- on 1:MODE:# {
- recseen $nick $address mode $chan $1-
- }
- on 1:NICK {
- if ($usr($newnick)) recseen $nick $address nick $newnick $nick
- else recseen $nick $address nick $newnick $nick
- }
- on 1:NOTICE:*:# {
- recseen $nick $address notice $chan $1-
- }
- on 1:OP:# {
- recseen $nick $address op $chan $opnick
- recseen $opnick $remove($address($opnick,0),*!) opped $chan $nick
- }
- on 1:PART:# {
- recseen $nick $address part $chan $1-
- }
- on 1:QUIT {
- recseen $nick $address quit $1-
- }
- on 1:SERVEROP:# {
- recseen $opnick $remove($address($opnick,0),*!) serveropped $chan $nick
- }
- on 1:TEXT:*:# {
- recseen $nick $address text $chan $1-
- }
- on 1:TOPIC:# {
- recseen $nick $address topic $chan $1-
- }
- on 1:UNBAN:# {
- recseen $nick $address unban $chan $banmask
- }
- on 1:VOICE:# {
- if ($vnick == $nick) recseen $nick $address voice $chan himself
- else {
- recseen $nick $address voice $chan $vnick
- recseen $vnick $remove($address($vnick,0),*!) voiced $chan $nick
- }
- }
-