All pastes #1858483 Raw Edit

trigger pl adjustments

public diff v1 · immutable
#1858483 ·published 2010-04-08 03:13 UTC
rendered paste body
--- trigger.pl~ 2007-01-19 22:43:49.000000000 -0600+++ trigger.pl  2010-04-07 22:10:09.000000000 -0500@@ -74,10 +74,12 @@                 Examples: %|-channels '#chan1 #chan2' or -channels 'IRCNet/#channel'                           %|-channels 'EFNet/' means every channel on EFNet and is the same as -tags 'EFNet'      -masks: %|The person who triggers it must match one of the given list of masks+     -not_masks: %|The person who triggers it must not match one of the given list of masks      -hasmode: %|The person who triggers it must have the give mode                Examples: %|'-o' means not opped, '+ov' means opped OR voiced, '-o&-v' means not opped AND not voiced      -hasflag: %|Only trigger if if friends.pl (friends_shasta.pl) or people.pl is loaded and the person who triggers it has the given flag in the script (same syntax as -hasmode)      -other_masks+     -not_other_masks      -other_hasmode      -other_hasflag: %|Same as above but for the victim for kicks or mode_nick. @@ -445,6 +447,27 @@                return  (defined($nickname) && defined($address) && defined($server) && $server->masks_match($param, $nickname, $address));        } },+'not_masks' => {+       'types' => \@all_types,+       'sub' => sub {+               my ($param, $signal,$parammessage,$server,$channelname,$nickname,$address,$condition,$extra) = @_;+               return  (defined($nickname) && defined($address) && defined($server) && !$server->masks_match($param, $nickname, $address));+       }+},+'away' => {+       'types' => \@all_types,+       'sub' => sub {+               my ($param, $signal,$parammessage,$server,$channelname,$nickname,$address,$condition,$extra) = @_;+                return $server->{usermode_away};+       }+},+'not_away' => {+       'types' => \@all_types,+       'sub' => sub {+               my ($param, $signal,$parammessage,$server,$channelname,$nickname,$address,$condition,$extra) = @_;+                return !$server->{usermode_away};+       }+}, 'other_masks' => {        'types' => ['kicks', 'mode_nick'],        'sub' => sub {@@ -454,6 +477,15 @@                return defined($other_address) && $server->masks_match($param, $extra->{'other'}, $other_address);        } },+'not_other_masks' => {+       'types' => ['kicks', 'mode_nick'],+       'sub' => sub {+               my ($param, $signal,$parammessage,$server,$channelname,$nickname,$address,$condition,$extra) = @_;+               return 0 unless defined($extra->{'other'});+               my $other_address = get_address($extra->{'other'}, $server, $channelname);+               return defined($other_address) && !$server->masks_match($param, $extra->{'other'}, $other_address);+       }+}, 'hasmode' => {        'types' => \@all_types,        'sub' => sub {