home *** CD-ROM | disk | FTP | other *** search
/ ftp.madoka.org / 2014.12.ftp.madoka.org.tar / ftp.madoka.org / pub / plum / plum2_33_1.lzh / module / ctcp / part.plm < prev    next >
Text File  |  1999-03-24  |  2KB  |  104 lines

  1. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- $_ if 0; # -*- perl -*-
  2. # $Id: part.plm,v 2.17 1999/01/16 07:21:57 hasegawa Exp $
  3. # copyright (c)1997-1999 Yoshinori Hasegawa <hasegawa@madoka.org>
  4.  
  5. package ctcp_part;
  6.  
  7. $CLIENTINFO = 'PART';
  8.  
  9. $_ = 'ctcp_part';
  10.  
  11. sub cpss_part {
  12.   local($serverno, $prefix, $cmd, @params) = @_;
  13.   local($userno, $regex, $nick, $chan);
  14.   $nick = &'prefix($prefix);
  15.   $userno = $'userno[$serverno];
  16.   if ($params[1]) {
  17.     $chan = &'real((split(/\s+/, $params[1]))[0]);
  18.     if (&check_mask($userno, $prefix, $chan)) {
  19.       &'s_print($serverno, '', 'PART', $chan, $nick);
  20.       return ();
  21.     }
  22.   }
  23.   return ($prefix, $cmd, @params);
  24. }
  25.  
  26. sub check_mask {
  27.   local($userno, $prefix, $chan) = @_;
  28.   local($user, $chlist, $list);
  29.   foreach $mask (&'property($userno, 'mask')) {
  30.     ($user, $chlist) = split(/\s+/, $mask);
  31.     $list = '';
  32.     foreach $vchan (split(/\,/, $chlist || '')) {
  33.       $list = &'add($list, &'real($vchan));
  34.     }
  35.     if (&'channel($chan)) {
  36.       next unless (!$list || &'exist($list, $chan));
  37.     } else {
  38.       next unless (!$list || &'exist($list, '*'));
  39.     }
  40.     if ($user =~ /^\-/) {
  41.       $regex = &'regex(substr($user, 1));
  42.       return 0 if $prefix =~ /$regex/i;
  43.     }
  44.     if ($user =~ /^\+/) {
  45.       $regex = &'regex(substr($user, 1));
  46.     } else {
  47.       $regex = &'regex($user);
  48.     }
  49.     return 1 if $prefix =~ /$regex/i;
  50.   }
  51.   return 0;
  52. }
  53.  
  54. __END__
  55. --><HTML><HEAD>
  56. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-2022-JP">
  57. <LINK REV="made" HREF="mailto:hasegawa@madoka.org">
  58. <TITLE>ctcp/part.plm</TITLE></HEAD><BODY>
  59.  
  60. $B%*%s%i%$%s%I%-%e%a%s%H(B
  61.  
  62.  
  63. <HR><H3>$BL>A0(B</H3>
  64.  
  65. ctcp/part.plm - CTCP PART$B$KH?1~$7$F%A%c%s%M%k$rH4$1$k(B
  66.  
  67.  
  68. <HR><H3>$B@bL@(B</H3>
  69.  
  70. CTCP PART$B$,Aw$i$l$F$-$?$H$-!"(B
  71. $B$=$l$KH?1~$7$F;XDj$5$l$?%A%c%s%M%k$rH4$1$^$9!#(B
  72.  
  73.  
  74. <HR><H3>$B%W%m%Q%F%#(B</H3>
  75.  
  76. <DL>
  77. <DT>  ctcp.part.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
  78. </DT>
  79. <DD>    CTCP PART$B$,Aw$i$l$F$-$?$H$-!"Aw$j<g$*$h$S%A%c%s%M%k$,(B
  80.         $B$3$3$G;XDj$5$l$?$b$N$K%^%C%A$7$?$i!"$=$N%A%c%s%M%k$rH4$1$^$9!#(B
  81. </DD>
  82. </DL>
  83.  
  84.  
  85. <HR><H3>$B@_DjNc(B</H3>
  86.  
  87. <PRE>
  88. + ctcp/part.plm
  89. ctcp.part.mask: *!*@* #$B$^$I$+(B
  90. </PRE>
  91.  
  92. $B!V(B#$B$^$I$+!W$rH4$1$k$h$&$K(BCTCP PART$B$,Aw$i$l$F$-$?>l9g!"(B
  93. $B!V(B#$B$^$I$+!W$+$iH4$1$^$9!#(B
  94.  
  95. <PRE>
  96. + ctcp/part.plm
  97. ctcp.part.mask: *!*@*.jp
  98. </PRE>
  99.  
  100. CTCP PART$B$,Aw$i$l$F$-$?$H$-!"$=$l$rAw$C$??M$,!V(B*!*@*.jp$B!W$K%^%C%A$7$?$i!"(B
  101. $B$=$N%A%c%s%M%k$rH4$1$^$9!#(B
  102.  
  103. </BODY></HTML>
  104.