home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / 2.x / plum2_15_2.lzh / module / auto / oper.plm < prev    next >
Text File  |  1997-11-28  |  5KB  |  148 lines

  1. # <!-- -*- perl -*-
  2. # $Id: oper.plm,v 2.2 1997/11/29 01:38:36 hasegawa Exp $
  3. # copyright (c)1997 pupu_j <hasegawa@agusa.nuie.nagoya-u.ac.jp>
  4.  
  5. package auto_oper;
  6.  
  7. $_ = 'auto_oper';
  8.  
  9. sub ss_privmsg {
  10.   local($serverno, $prefix, $cmd, $chan, $msg) = @_;
  11.   local($userno, $nick, $reply);
  12.   $userno = $'userno[$serverno];
  13.   $nick = &'prefix($prefix);
  14.   foreach $req (&'property($userno, 'request')) {
  15.     next unless $msg eq $req;
  16.     if (!($chan =~ /^[\#\&\+\-]/)) {
  17.       $reply = &'property($userno, 'private');
  18.       if ($reply) {
  19.         &'s_print($serverno, '', 'PRIVMSG', $nick, $reply);
  20.         foreach $cno (&'array($'clientlist)) {
  21.           next unless $'avail[$cno];
  22.           next unless $'userno[$cno] == $userno;
  23.           &'c_print($cno, &'user($cno), 'PRIVMSG', $nick, $reply);
  24.         }
  25.       }
  26.     } elsif (!&'exist($'nameslist{$userno, $chan}, "\@$'nick[$serverno]")) {
  27.       $reply = &'property($userno, 'notoper');
  28.       if ($reply) {
  29.         &'s_print($serverno, '', 'PRIVMSG', $chan, $reply);
  30.         foreach $cno (&'array($'clientlist)) {
  31.           next unless $'avail[$cno];
  32.           next unless $'userno[$cno] == $userno;
  33.           &'c_print($cno, &'user($cno), 'PRIVMSG', $chan, $reply);
  34.         }
  35.       }
  36.     } elsif (&'exist($'nameslist{$userno, $chan}, "\@$nick")) {
  37.       $reply = &'property($userno, 'oper');
  38.       if ($reply) {
  39.         &'s_print($serverno, '', 'PRIVMSG', $chan, $reply);
  40.         foreach $cno (&'array($'clientlist)) {
  41.           next unless $'avail[$cno];
  42.           next unless $'userno[$cno] == $userno;
  43.           &'c_print($cno, &'user($cno), 'PRIVMSG', $chan, $reply);
  44.         }
  45.       }
  46.     } elsif (&'exist($'nameslist{$userno, $chan}, $nick, "\+$nick")) {
  47.       $reply = &'property($userno, 'message');
  48.       if ($reply) {
  49.         &'s_print($serverno, '', 'PRIVMSG', $chan, $reply);
  50.         foreach $cno (&'array($'clientlist)) {
  51.           next unless $'avail[$cno];
  52.           next unless $'userno[$cno] == $userno;
  53.           &'c_print($cno, &'user($cno), 'PRIVMSG', $chan, $reply);
  54.         }
  55.       }
  56.       &'s_print($serverno, '', 'MODE', $chan, '+o', $nick);
  57.     } else {
  58.       $reply = &'property($userno, 'out');
  59.       if ($reply) {
  60.         &'s_print($serverno, '', 'PRIVMSG', $nick, $reply);
  61.         foreach $cno (&'array($'clientlist)) {
  62.           next unless $'avail[$cno];
  63.           next unless $'userno[$cno] == $userno;
  64.           &'c_print($cno, &'user($cno), 'PRIVMSG', $nick, $reply);
  65.         }
  66.       }
  67.     }
  68.     last;
  69.   }
  70.   return ($prefix, $cmd, $chan, $msg);
  71. }
  72.  
  73. __END__
  74. --><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
  75. <HTML><HEAD><TITLE> auto/oper.plm </TITLE></HEAD><BODY>
  76.  
  77. $B%*%s%i%$%s%I%-%e%a%s%H(B
  78.  
  79.  
  80. <HR><H3> $BL>A0(B </H3>
  81.  
  82. auto/oper.plm - $BFCDj$NH/8@$r$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$9$k(B
  83.  
  84.  
  85. <HR><H3> $B@bL@(B </H3>
  86.  
  87. $BFCDj$N%a%C%;!<%8$rH/8@$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B
  88. $B%f!<%6!<$N3NG'$O$7$F$$$J$$$N$G!"H/8@$7$??M$,C/$G$"$k$+$K$+$+$o$i$:!"(B
  89. $B$=$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$7$F$7$^$&$N$GCm0U$7$F$/$@$5$$!#(B
  90.  
  91.  
  92. <HR><H3> $B%W%m%Q%F%#(B </H3>
  93.  
  94. <DL>
  95. <DT> auto.oper.request* $B%a%C%;!<%8(B
  96. <DD>    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$9$k%a%C%;!<%8$r;XDj$7$^$9!#(B
  97.         $B$3$3$G;XDj$7$?%a%C%;!<%8$rH/8@$7$??M$r(B
  98.         $B%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B
  99. <DT> auto.oper.message $B%a%C%;!<%8(B
  100. <DD>    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$7$??M$r<B:]$K%A%c%s%M%k%*%Z%l!<%?(B
  101.         $B$K$9$k$H$-!"$3$3$G;XDj$7$?%a%C%;!<%8$rH/8@$7$^$9!#(B
  102. <DT> auto.oper.oper $B%a%C%;!<%8(B
  103. <DD>    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$7$??M$,$9$G$K%A%c%s%M%k%*%Z%l!<%?(B
  104.         $B$@$C$?>l9g!"$3$3$G;XDj$7$?%a%C%;!<%8$rH/8@$7$^$9!#(B
  105. <DT> auto.oper.notoper $B%a%C%;!<%8(B
  106. <DD>    $B<+J,$,%A%c%s%M%k%*%Z%l!<%?$G$J$$$?$a$K(B
  107.         $BB>$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$G$-$J$$$H$-!"(B
  108.         $B$3$3$G;XDj$7$?%a%C%;!<%8$rH/8@$7$^$9!#(B
  109. <DT> auto.oper.private $B%a%C%;!<%8(B
  110. <DD>    $B%A%c%s%M%k%*%Z%l!<%?$NMW5a$,%A%c%s%M%k$KBP$7$F$G$O$J$/!"(B
  111.         $B<+J,$KBP$7$F$5$l$?$H$-!"$3$3$G;XDj$7$?%a%C%;!<%8$rH/8@$7$^$9!#(B
  112. <DT> auto.oper.out $B%a%C%;!<%8(B
  113. <DD>    $B%A%c%s%M%k%*%Z%l!<%?$NMW5a$,%A%c%s%M%k$N30$+$iH/8@$5$l$?$H$-!"(B
  114.         $B$3$3$G;XDj$7$?%a%C%;!<%8$rH/8@$7$^$9!#(B
  115. </DL>
  116.  
  117.  
  118. <HR><H3> $B@_DjNc(B </H3>
  119.  
  120. <PRE>
  121. + auto/oper.plm
  122. auto.oper.request: $B$W$i$`$J$k$H(B
  123. auto.oper.message: $B$O!A$$!y(B
  124. auto.oper.oper: $B$b$&$J$k$H;}$C$F$^$9$h!#(B
  125. auto.oper.notoper: $B$4$a$s$J$5$$!#$J$k$H;}$C$F$J$$$s$G$9!#(B
  126. auto.oper.private: $B$J$k$H$,$[$7$$%A%c%s%M%k$G8@$C$F$/$@$5$$$M!#(B
  127. auto.oper.out: $B$($C!"$I$3$K$$$k$s$G$9$+(B?
  128. </PRE>
  129.  
  130. $B!V$W$i$`$J$k$H!W$HH/8@$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B
  131. $B2?$i$+$NM}M3$G%A%c%s%M%k%*%Z%l!<%?$K$G$-$J$$$H$-$O!"(B
  132. $B$=$l$>$l$NM}M3$K1~$8$?%a%C%;!<%8$rH/8@$7$^$9!#(B
  133.  
  134. <PRE>
  135. + auto/oper.plm
  136. auto.oper.request: $B$J$k$H(B
  137. auto.oper.request: $B$J$k$H$/$l(B
  138. auto.oper.request: $B$J$k$H$/$@$5$$(B
  139. auto.oper.request: $B$J$k$H$A$g$&$@$$(B
  140. </PRE>
  141.  
  142. $B%A%c%s%M%k%*%Z%l!<%?$NMW5a$,(B4$B<oN`$"$kNc$G$9!#(B
  143. $B$3$N$&$A$N$I$l$+$rH/8@$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B
  144. $B2?$i$+$NM}M3$G%A%c%s%M%k%*%Z%l!<%?$K$G$-$J$$$H$7$F$b2?$bH/8@$7$^$;$s!#(B
  145.  
  146. </BODY></HTML>
  147.  
  148.