home *** CD-ROM | disk | FTP | other *** search
/ isnet Internet / Isnet Internet CD.iso / prog / chat / 12 / 12.exe / SYSTEM / Seen.mrc < prev    next >
Encoding:
Text File  |  1999-04-01  |  4.7 KB  |  135 lines

  1. ;%%%%%%%%%%%%%%%%%%%%%%%%
  2. ;script iSeen
  3. ;version 2.0
  4. ;author Quietust
  5. ;email quietust@ircN.org
  6. ;url http://www.ircN.org
  7. ;%%%%%%%%%%%%%%%%%%%%%%%%
  8. on 1:TEXT:!seen &:# {
  9.   if ($isvalidchan(%seenchans,$chan)) {
  10.     if ($2 == $me) msg $chan $ncomp($nick) I'm right here!
  11.     elseif ($nick == $2) msg $chan $ncomp($nick) You're right here!
  12.     elseif ($2 ison $chan) msg $chan $ncomp($nick) $b($2) is right here!
  13.     else {
  14.       if ($readini -n users.ini $usrl($2) seen != $null) {
  15.         lastseen $usrl($2) $readini -n users.ini $usrl($2) seen
  16.         msg $chan $ncomp($nick) $result
  17.       }
  18.       elseif ($read -ns [ $+ [ $2 ] ] seen.ini != $null) {
  19.         lastseen $2 $read -ns [ $+ [ $2 ] ] seen.ini
  20.         msg $chan $ncomp($nick) $result
  21.       }
  22.       elseif ($usrhost($2)) msg $chan $ncomp($nick) Sorry, I haven't seen $b($2) lately.
  23.     }
  24.   }
  25. }
  26. alias lastseen {
  27.   if ($4 == action) set %seen.msg do " $+ $6- $+ " in $5
  28.   elseif ($4 == ban) set %seen.msg $4 $6 on $5
  29.   elseif ($4 == ctcp) set %seen.msg make a CTCP $6 request on $5
  30.   elseif ($4 == deop) set %seen.msg $4 $6 on $5
  31.   elseif ($4 == deopped) set %seen.msg get $4 by $6 on $5
  32.   elseif ($4 == devoice) set %seen.msg $4 $6 on $5
  33.   elseif ($4 == devoiced) set %seen.msg get $4 by $6 on $5
  34.   elseif ($4 == join) set %seen.msg $4-5
  35.   elseif ($4 == kick) set %seen.msg $4 $6 from $5 $iif($7,with the reason " [ $+ [ $7- ] $+ ] ")
  36.   elseif ($4 == kicked) set %seen.msg get $4 from $5 by $6 $iif($7,with the reason " [ $+ [ $7- ] $+ ] ")
  37.   elseif ($4 == mode) set %seen.msg set $4 $6- on $5
  38.   elseif ($4 == nick) set %seen.msg change nicknames $iif($6,from [ $6 ] ) to $5
  39.   elseif ($4 == notice) set %seen.msg $4-5 that " $+ $6- $+ "
  40.   elseif ($4 == op) set %seen.msg $4 $6 on $5
  41.   elseif ($4 == opped) set %seen.msg get $4 by $6 on $5
  42.   elseif ($4 == part) set %seen.msg $4-5 $iif($6,with the message " [ $+ [ $6- ] $+ ] ")
  43.   elseif ($4 == quit) set %seen.msg $4 IRC $iif($5,with the message " [ $+ [ $5- ] $+ ] ")
  44.   elseif ($4 == serveropped) set %seen.msg get $4 by $6 on $5
  45.   elseif ($4 == text) set %seen.msg say " $+ $6- $+ " in $5
  46.   elseif ($4 == topic) set %seen.msg $iif($6,set,clear) the $4 on $5 $iif($6,to " [ $+ [ $6- ] $+ ] ")
  47.   elseif ($4 == unban) set %seen.msg $4 $6 on $5
  48.   elseif ($4 == voice) set %seen.msg $4 $6 on $5
  49.   elseif ($4 == voiced) set %seen.msg get $4 by $6 on $5
  50.   else unset %seen.msg
  51.   return I last saw $b($1) $paren($3) %seen.msg on $asc-time($2) ( $+ $duration($sub($ctime,$2)) ago).
  52. }
  53. alias clrseen write -c seen.ini
  54. alias remseen if ($read -ns [ $+ [ $1 ] ] seen.ini != $null) write -ds [ $+ [ $1 ] ] seen.ini
  55. alias recseen {
  56.   if (%seenbot != on) return
  57.   if ($usr($1)) writeini -n users.ini $usr($1) seen $ctime $strip($2-)
  58.   else {
  59.     if ($read -ns [ $+ [ $1 ] ] seen.ini != $null) write -ds [ $+ [ $1 ] ] seen.ini
  60.     write seen.ini $1 $ctime $2-
  61.   }
  62. }
  63. ctcp 1:*:# {
  64.   recseen $nick $address ctcp $chan $1-
  65. }
  66. on 1:ACTION:*:# {
  67.   recseen $nick $address action $chan * $nick $1-
  68. }
  69. on 1:BAN:# {
  70.   recseen $nick $address ban $chan $banmask
  71. }
  72. on 1:DEOP:# {
  73.   if ($opnick == $nick) recseen $nick $address deop $chan himself
  74.   else {
  75.     recseen $nick $address deop $chan $opnick
  76.     recseen $opnick $remove($address($opnick,0),*!) deopped $chan $nick
  77.   }
  78. }
  79. on 1:DEVOICE:# {
  80.   if ($vnick == $nick) recseen $nick $address devoice $chan himself
  81.   else {
  82.     recseen $nick $address devoice $chan $vnick
  83.     recseen $vnick $remove($address($vnick,0),*!) devoiced $chan $nick
  84.   }
  85. }
  86. on 1:JOIN:# {
  87.   recseen $nick $address join $chan
  88. }
  89. on 1:KICK:# {
  90.   if ($knick == $nick) recseen $nick $address kick $chan himself
  91.   else {
  92.     recseen $nick $address kick $chan $knick $1-
  93.     recseen $knick $remove($address($knick,0),*!) kicked $chan $nick $1-
  94.   }
  95. }
  96. on 1:MODE:# {
  97.   recseen $nick $address mode $chan $1-
  98. }
  99. on 1:NICK {
  100.   if ($usr($newnick)) recseen $nick $address nick $newnick $nick
  101.   else recseen $nick $address nick $newnick $nick
  102. }
  103. on 1:NOTICE:*:# {
  104.   recseen $nick $address notice $chan $1-
  105. }
  106. on 1:OP:# {
  107.   recseen $nick $address op $chan $opnick
  108.   recseen $opnick $remove($address($opnick,0),*!) opped $chan $nick
  109. }
  110. on 1:PART:# {
  111.   recseen $nick $address part $chan $1-
  112. }
  113. on 1:QUIT {
  114.   recseen $nick $address quit $1-
  115. }
  116. on 1:SERVEROP:# {
  117.   recseen $opnick $remove($address($opnick,0),*!) serveropped $chan $nick
  118. }
  119. on 1:TEXT:*:# {
  120.   recseen $nick $address text $chan $1-
  121. }
  122. on 1:TOPIC:# {
  123.   recseen $nick $address topic $chan $1-
  124. }
  125. on 1:UNBAN:# {
  126.   recseen $nick $address unban $chan $banmask
  127. }
  128. on 1:VOICE:# {
  129.   if ($vnick == $nick) recseen $nick $address voice $chan himself
  130.   else {
  131.     recseen $nick $address voice $chan $vnick
  132.     recseen $vnick $remove($address($vnick,0),*!) voiced $chan $nick
  133.   }
  134. }
  135.