home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 1.x / plum11.lzh / plum11 / fastoper.plm < prev    next >
Text File  |  1997-08-28  |  1KB  |  42 lines

  1. package fastoper;
  2.  
  3. $_ = 'fastoper';
  4.  
  5. sub ss_join {
  6.   local($serverno, $prefix, $cmd, $chan) = @_;
  7.   local($userno, $nick, $regex, $name, $mode);
  8.   $userno = $'userno[$serverno];
  9.   $nick = &'prefix($prefix);
  10.   ($name, $mode) = (split(/\cG/, $chan), '');
  11.   if ($nick ne $'nick[$serverno] && $mode !~ /o/i) {
  12.     if (&'exist($'nameslist{$userno, $name}, "\@$'nick[$serverno]")) {
  13.       if (&'exist($splitlist{$userno, $name}, $prefix)) {
  14.         $splitlist{$userno, $name} = &'remove($splitlist{$userno, $name}, $prefix);
  15.       } else {
  16.         foreach $newoper (&'property($userno, 'newoper')) {
  17.           $regex = &'regex($newoper);
  18.           next unless $prefix =~ /$regex/i;
  19.           &'s_print($serverno, '', 'MODE', $name, '+o', $nick);
  20.           last;
  21.         }
  22.       }
  23.     }
  24.   }
  25.   return ($prefix, $cmd, $chan);
  26. }
  27.  
  28. sub ss_quit {
  29.   local($serverno, $prefix, $cmd, $msg) = @_;
  30.   local($nick, $userno);
  31.   $userno = $'userno[$serverno];
  32.   $nick = (&'prefix($prefix))[0];
  33.   if ($msg =~ /[\w\d\-]+(\.[\w\d\-]+)+ [\w\d\-\*]+(\.[\w\d\-]+)+/) {
  34.     foreach $chan (&'array($'chanlist[$userno])) {
  35.       next unless &'exist($'nameslist{$userno, $chan}, "\@$nick");
  36.       $splitlist{$userno, $chan} = &'add($splitlist{$userno, $chan}, $prefix);
  37.     }
  38.   }
  39.   return ($prefix, $cmd, $msg);
  40. }
  41.  
  42.