diff options
| author | 2007-10-08 13:28:23 +0000 | |
|---|---|---|
| committer | 2007-10-08 13:28:23 +0000 | |
| commit | 917638dfdf31e26ae9115dabb5c2fe528866c549 (patch) | |
| tree | d5ab13c057983bff1fac0ed64638bb105f8f03b7 /modules/util.pl | |
| parent | 3790452619828dc2c5d27c13eeec7b67b3fe6eff (diff) | |
added a db command, improved the user set flags command, added linked channels, added a showhilights command, eliminated flooding of alerts, fixed nickspam check, added something to watch chancounts.
Diffstat (limited to 'modules/util.pl')
| -rw-r--r-- | modules/util.pl | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/modules/util.pl b/modules/util.pl index a385790..4fe63ee 100644 --- a/modules/util.pl +++ b/modules/util.pl @@ -1,4 +1,5 @@ package ASM::Util; +use Array::Utils qw(:all); use warnings; use strict; @@ -7,6 +8,7 @@ my %oq; %::RISKS = ( + 'disable'=> -1, #this isn't really an alert 'debug' => 10, 'info' => 20, 'low' => 30, @@ -66,8 +68,22 @@ sub maxlen { sub cs { my ($module, $chan) = @_; $chan = lc $chan; - return $::channels->{channel}->{$chan} if ( defined($::channels->{channel}->{$chan}) ); - return $::channels->{channel}->{default}; + return $::channels->{channel}->{default} unless defined($::channels->{channel}->{$chan}); + if ( defined($::channels->{channel}->{$chan}->{link}) ) { + return $::channels->{channel}->{ $::channels->{channel}->{$chan}->{link} }; + } + return $::channels->{channel}->{$chan}; +} + +sub getLink +{ + my ($module, $chan) = @_; + $chan = lc $chan; + my $link = $::channels->{channel}->{$chan}->{link}; + if ( defined($link) ) { + return $link; + } + return $chan; } #this item is a stub, dur @@ -126,15 +142,20 @@ sub flood_process { sub getAlert { my ($module, $c, $risk, $t) = @_; - @_ = (); + my @disable = (); + my @x = (); $c = lc $c; foreach my $prisk ( keys %::RISKS) { if ( $::RISKS{$risk} >= $::RISKS{$prisk} ) { - push( @_, @{$::channels->{channel}->{master}->{$t}->{$prisk}} ) if defined $::channels->{channel}->{master}->{$t}->{$prisk}; - push( @_, @{cs($module, $c)->{$t}->{$prisk}} ) if defined cs($module, $c)->{$t}->{$prisk}; + push( @x, @{$::channels->{channel}->{master}->{$t}->{$prisk}} ) if defined $::channels->{channel}->{master}->{$t}->{$prisk}; + push( @x, @{cs($module, $c)->{$t}->{$prisk}} ) if defined cs($module, $c)->{$t}->{$prisk}; } } - return @_; + push( @disable, @{$::channels->{channel}->{master}->{$t}->{disable}} ) if defined $::channels->{channel}->{master}->{$t}->{disable}; + push( @disable, @{cs($module, $c)->{$t}->{disable}} ) if defined cs($module, $c)->{$t}->{disable}; + @x = unique(@x); + @x = array_diff(@x, @disable); + return @x; } sub commaAndify { |
