diff options
| -rw-r--r-- | config-default/channels.xml | 156 | ||||
| -rwxr-xr-x | meta.pl | 4 | ||||
| -rw-r--r-- | modules/actions.pl | 57 | ||||
| -rw-r--r-- | modules/event.pl | 6 | ||||
| -rw-r--r-- | modules/inspect.pl | 13 |
5 files changed, 79 insertions, 157 deletions
diff --git a/config-default/channels.xml b/config-default/channels.xml index f364adf..780ae18 100644 --- a/config-default/channels.xml +++ b/config-default/channels.xml @@ -1,37 +1,37 @@ <channels> - <channel id="##Thehelpfulone" op="no"> + <channel id="##Thehelpfulone"> <hilights></hilights> </channel> - <channel id="##asb-debug" monitor="no" op="no"> + <channel id="##asb-debug" monitor="no"> <hilights></hilights> </channel> <channel id="##asb-meta" link="##asb-testing"> <hilights></hilights> </channel> - <channel id="##asb-nexus" op="when"> + <channel id="##asb-nexus"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="##c++" op="no" silence="yes"> + <channel id="##c++" silence="yes"> <hilights> <debug>tomaw</debug> </hilights> <msgs></msgs> </channel> - <channel id="##electronics" op="no" silence="yes"> + <channel id="##electronics" silence="yes"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="##hamradio" op="no" silence="yes"> + <channel id="##hamradio" silence="yes"> <hilights></hilights> <msgs> <debug>#hamradio-ops</debug> </msgs> </channel> - <channel id="##javascript" op="no"> + <channel id="##javascript"> <hilights></hilights> </channel> - <channel id="##linux" op="no" silence="yes"> + <channel id="##linux" silence="yes"> <hilights> <disable>ST47</disable> <low>nalioth</low> @@ -54,7 +54,7 @@ <debug>##linux-ops</debug> </msgs> </channel> - <channel id="##linux-ops" op="no"> + <channel id="##linux-ops"> <hilights> <opalert>WildPikachu</opalert> <opalert>denny</opalert> @@ -65,15 +65,15 @@ <opalert>##linux-ops</opalert> </msgs> </channel> - <channel id="##physics" op="no"> + <channel id="##physics"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="##posix" op="no" silence="yes"> + <channel id="##posix" silence="yes"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="##thehelpfulone" op="no"> + <channel id="##thehelpfulone"> <hilights> <debug>thehelpfulone</debug> </hilights> @@ -89,11 +89,11 @@ </hilights> <msgs></msgs> </channel> - <channel id="##wikimedia-ops" op="no"> + <channel id="##wikimedia-ops"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="##windows" op="no" silence="yes"> + <channel id="##windows" silence="yes"> <hilights> <debug>jpalmer</debug> <debug>Corey</debug> @@ -118,7 +118,7 @@ <channel id="#RubyOnRails"> <hilights></hilights> </channel> - <channel id="#debian" op="no" silence="yes"> + <channel id="#debian" silence="yes"> <hilights></hilights> <msgs> <info>#ubuntu-ops-monitor</info> @@ -127,7 +127,7 @@ <channel id="#defocus" link="#freenode" silence="yes"> <hilights></hilights> </channel> - <channel id="#django" op="no"> + <channel id="#django"> <hilights> <debug>tomaw</debug> </hilights> @@ -139,7 +139,7 @@ <info>#ubuntu-ops-monitor</info> </msgs> </channel> - <channel id="#freenode" op="no" silence="yes"> + <channel id="#freenode" silence="yes"> <hilights> <debug>tomaw</debug> <debug>Dave2</debug> @@ -166,10 +166,10 @@ </hilights> <msgs></msgs> </channel> - <channel id="#freenode-newyears" link="#freenode" op="no" silence="yes"> + <channel id="#freenode-newyears" link="#freenode" silence="yes"> <hilights></hilights> </channel> - <channel id="#gentoo" op="no" silence="yes"> + <channel id="#gentoo" silence="yes"> <hilights> <debug>NeddySeagoon</debug> <debug>a3li</debug> @@ -181,21 +181,21 @@ <info>#ubuntu-ops-monitor</info> </msgs> </channel> - <channel id="#hamradio" link="##hamradio" op="no" silence="yes"> + <channel id="#hamradio" link="##hamradio" silence="yes"> <hilights></hilights> </channel> - <channel id="#hamradio-ops" op="no"> + <channel id="#hamradio-ops"> <hilights></hilights> </channel> <channel id="#httpd"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="#irssi" op="no"> + <channel id="#irssi"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="#lisp" op="no" silence="yes"> + <channel id="#lisp" silence="yes"> <hilights> <disable>Thehelpfulone</disable> <high>tomaw</high> @@ -204,10 +204,10 @@ </hilights> <msgs></msgs> </channel> - <channel id="#logbook" op="no"> + <channel id="#logbook"> <hilights></hilights> </channel> - <channel id="#mediawiki" op="no" silence="yes"> + <channel id="#mediawiki" silence="yes"> <hilights> <debug>flyingparchment</debug> <debug>roberthl</debug> @@ -218,21 +218,21 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#osdev" op="no"> + <channel id="#osdev"> <hilights> <low>tomaw</low> </hilights> <msgs></msgs> </channel> - <channel id="#reddit" op="no"> + <channel id="#reddit"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="#rubyonrails" op="no"> + <channel id="#rubyonrails"> <hilights></hilights> <msgs></msgs> </channel> - <channel id="#sparkfun" op="no"> + <channel id="#sparkfun"> <hilights></hilights> </channel> <channel id="#st47"> @@ -246,7 +246,7 @@ <low>#st47</low> </msgs> </channel> - <channel id="#ubuntu" op="no" silence="yes"> + <channel id="#ubuntu" silence="yes"> <hilights> <debug>nhandler</debug> <debug>LjL</debug> @@ -262,7 +262,7 @@ <hilights></hilights> <msgs></msgs> </channel> - <channel id="#ubuntu-ops-monitor" monitor="no" op="no"> + <channel id="#ubuntu-ops-monitor" monitor="no"> <hilights></hilights> <msgs></msgs> </channel> @@ -270,7 +270,7 @@ <hilights></hilights> <msgs></msgs> </channel> - <channel id="#wikia" op="no"> + <channel id="#wikia"> <hilights> <medium>tomaw</medium> <opalert>AfterDeath</opalert> @@ -283,7 +283,7 @@ <channel id="#wikileaks"> <hilights></hilights> </channel> - <channel id="#wikimedia" op="no" silence="yes"> + <channel id="#wikimedia" silence="yes"> <hilights> <debug>Martinp23</debug> <debug>PeterSymonds</debug> @@ -300,7 +300,7 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#wikimedia-commons" op="no" silence="yes"> + <channel id="#wikimedia-commons" silence="yes"> <hilights> <debug>killiondude</debug> <debug>matanya</debug> @@ -313,7 +313,7 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#wikimedia-ops" op="no"> + <channel id="#wikimedia-ops"> <hilights> <debug>Cbrown1023</debug> <debug>Thehelpfulone</debug> @@ -335,7 +335,7 @@ <debug>Thehelpfulone</debug> </hilights> </channel> - <channel id="#wikimedia-otrs" op="no"> + <channel id="#wikimedia-otrs"> <hilights> <debug>PeterSymonds</debug> <debug>jeremyb</debug> @@ -354,13 +354,13 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#wikimedia-tech" op="no" silence="yes"> + <channel id="#wikimedia-tech" silence="yes"> <hilights></hilights> <msgs> <low>#wikimedia-ops</low> </msgs> </channel> - <channel id="#wikipedia" op="no" silence="yes"> + <channel id="#wikipedia" silence="yes"> <hilights> <debug>Golbez</debug> <debug>Prodego</debug> @@ -408,7 +408,7 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#wikipedia-bag" op="no" silence="yes"> + <channel id="#wikipedia-bag" silence="yes"> <hilights> <low>TheFearow</low> </hilights> @@ -416,7 +416,7 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#wikipedia-en" op="no" silence="yes"> + <channel id="#wikipedia-en" silence="yes"> <hilights> <debug>Werdan7</debug> <debug>wimt</debug> @@ -463,7 +463,7 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#wikipedia-en-help" op="no" silence="yes"> + <channel id="#wikipedia-en-help" silence="yes"> <hilights> <debug>werdan7</debug> <debug>GDonato</debug> @@ -499,7 +499,7 @@ <debug>#wikimedia-ops</debug> </msgs> </channel> - <channel id="#wikipedia-social" op="no" silence="yes"> + <channel id="#wikipedia-social" silence="yes"> <hilights></hilights> <msgs> <low>#wikimedia-ops</low> @@ -509,46 +509,46 @@ <hilights></hilights> <msgs></msgs> </channel> - <channel id="default" op="no"> - <event id="flood-15to45" action="none" class="floodqueue" reason="flooding 15 to 45" risk="low" time="0" type="public">15:45</event> + <channel id="default"> + <event id="flood-15to45" class="floodqueue" reason="flooding 15 to 45" risk="low" time="0">15:45</event> <hilights></hilights> <msgs></msgs> </channel> <channel id="master"> - <event id="advflood" action="none" class="advsplitflood" reason="advanced distributed flooding" risk="debug" time="0" type="public,part,caction" xresult="1">5:3</event> - <event id="anontalk1" action="none" class="re" reason="anontalk.com spam" risk="medium" time="0" type="public" xresult="1">(?i)w(.?)w\1w\1?.\1?a\1n\1o\1n\1t\1a\1l\1k\1?.\1?c\1o\1m</event> - <event id="autoremove" action="none" class="re" reason="on chanserv autoremove" risk="info" time="0" type="part">^requested by ChanServ</event> - <event id="blacklist" action="none" class="strbl" reason="sending message containing blacklisted content" risk="low" time="0" type="public" xresult="1">blah</event> - <event id="cheeesespammar" action="none" class="nuhg" reason="matches a dcc-exploiter (02/23/09)" risk="medium" time="0" type="join" xresult="1">(?i).*!.=aaaah@.*!hehehe</event> - <event id="ctcp-dcc" action="none" class="re" reason="ctcp-dcc" risk="high" time="0" type="cdcc" xresult="1">.*</event> - <event id="ctcp-ping" action="none" class="re" reason="channel-wide CTCP PING" risk="medium" time="0" type="cping" xresult="1">.*</event> - <event id="ctcp-version" action="none" class="re" reason="channel-wide CTCP VERSION" risk="medium" time="0" type="cversion" xresult="1">.*</event> - <event id="dcc" action="none" class="re" override="dcc-medium" reason="using the DC.C SE.ND exploit" risk="high" time="0" type="public" xresult="1">^DCC (SEND|S?CHAT) |\bDCC (SEND|S?CHAT) "?[A-Za-z0-9]+"? \d+ \d+ \d+</event> - <event id="dcc-medium" action="none" class="re" reason="using the DC.C SE.ND exploit" risk="medium" time="0" type="public" xresult="1">DCC SEND </event> - <event id="dcc-part" action="none" class="re" reason="using the DC.C SE.ND exploit in a part message" risk="high" time="0" type="part">DCC SEND </event> - <event id="dcc-topic" action="none" class="re" reason="setting a bad topic" risk="medium" time="0" type="topic">\bDCC SEND </event> - <event id="debugme" action="none" class="re" reason="sending a string designed to trigger a debug test alert, disregard this" risk="debug" time="0" type="public">debugantispambotdebug</event> - <event id="dronebl" action="none" class="dnsbl" reason="host $evhost is in dnsbl.dronebl.org ( $xresult )" risk="info" time="0" type="join" xresult="Automatically determined botnet IPs (experimental)">dnsbl.dronebl.org</event> - <event id="efnetbl" action="none" class="dnsbl" reason="host $evhost is in rbl.efnetrbl.org ( $xresult )" risk="info" time="0" type="join" xresult="TOR exit server">rbl.efnetrbl.org</event> - <event id="genspam1" action="none" class="re" reason="generic spamming" risk="debug" time="0" type="public" xresult="1">([^ ]{4,} +)\1{5,}</event> - <event id="joinflood" action="none" class="floodqueue" reason="join flood (5 joins in 20 seconds)" risk="medium" time="0" type="join" xresult="1">5:20</event> - <event id="keylogger" action="none" class="re" override="keylogger-medium" reason="using the norton start-key-logger exploit" risk="high" time="0" type="public" xresult="1">^startkeylogger$|^stopkeylogger$</event> - <event id="keylogger-medium" action="none" class="re" reason="using the norton start-key-logger exploit" risk="medium" time="0" type="public" xresult="1">\bstartkeylogger\b|\bstopkeylogger\b</event> - <event id="last_measure_regex" action="kban" class="re" reason="posting what appears to be a last measure link" risk="medium" time="0" type="public" xresult="1">http://\S+\.on\.nimp\.org</event> - <event id="levenflood" action="none" class="levenflood" override="flood-5to3" reason="levenshtein flood match" risk="debug" time="0" type="public" xresult="1">contentisuseless</event> - <event id="massflood" action="ban" class="splitflood" reason="distributed flooding" risk="high" time="0" type="public,part,caction" xresult="1">4:4</event> - <event id="nickspam" action="none" class="nickspam" reason="nickspamming" risk="high" time="0" type="public" xresult="1">60:10</event> - <event id="notice" action="none" class="re" reason="sending a notice to the channel" risk="medium" time="0" type="notice" xresult="1">.*</event> - <event id="phishing1" action="none" class="re" override="notice" reason="trying to steal passwords (v1)" risk="high" time="0" type="notice">identify.*/msg .* identify <password></event> - <event id="phishing2" action="none" class="re" override="notice" reason="trying to steal passwords (v2)" risk="high" time="0" type="notice">^This nickname is registered</event> - <event id="proxybl" action="none" class="dnsbl" reason="host $evhost is in dnsbl.proxybl.org" risk="info" time="0" type="join">dnsbl.proxybl.org</event> - <event id="redarmyoflol" action="none" class="re" reason="parting with 'red army of lol'" risk="low" time="0" type="part">RED ARMY OF LOL</event> - <event id="sms_spam" action="none" class="re" reason="spam link / virus" risk="low" time="0" type="public" xresult="1">\.com/sms.exe</event> - <event id="suckmynick" action="none" class="re" reason="using a potentially offensive nick" risk="low" time="0" type="join">(suck.*dick)</event> - <event id="wikifags2" action="none" class="re" reason="saying 'sure are a lot of wikifag'..." risk="low" time="0" type="public">(?i)^sure are a ?lot of .*fags? in here</event> - <event id="sorbsbl" action="none" class="dnsbl" reason="host $evhost is in dnsbl.sorbs.net ( $xresult )" risk="info" time="0" type="join">dnsbl.sorbs.net</event> - <event id="njabl" action="none" class="dnsbl" reason="host $evhost is in dnsbl.njabl.org ( $xresult )" risk="info" time="0" type="join">dnsbl.njabl.org</event> - <event id="ahbl" action="none" class="dnsbl" reason="host $evhost is in dnsbl.ahbl.org ( $xresult )" risk="info" time="0" type="join">dnsbl.ahbl.org</event> + <event id="advflood" class="advsplitflood" reason="advanced distributed flooding" risk="debug" type="public,part,caction" xresult="1">5:3</event> + <event id="anontalk1" class="re" reason="anontalk.com spam" risk="medium" type="public" xresult="1">(?i)w(.?)w\1w\1?.\1?a\1n\1o\1n\1t\1a\1l\1k\1?.\1?c\1o\1m</event> + <event id="autoremove" class="re" reason="on chanserv autoremove" risk="info" type="part">^requested by ChanServ</event> + <event id="blacklist" class="strbl" reason="sending message containing blacklisted content" risk="low" type="public" xresult="1">blah</event> + <event id="cheeesespammar" class="nuhg" reason="matches a dcc-exploiter (02/23/09)" risk="medium" type="join" xresult="1">(?i).*!.=aaaah@.*!hehehe</event> + <event id="ctcp-dcc" class="re" reason="ctcp-dcc" risk="high" type="cdcc" xresult="1">.*</event> + <event id="ctcp-ping" class="re" reason="channel-wide CTCP PING" risk="medium" type="cping" xresult="1">.*</event> + <event id="ctcp-version" class="re" reason="channel-wide CTCP VERSION" risk="medium" type="cversion" xresult="1">.*</event> + <event id="dcc" class="re" override="dcc-medium" reason="using the DC.C SE.ND exploit" risk="high" type="public" xresult="1">^DCC (SEND|S?CHAT) |\bDCC (SEND|S?CHAT) "?[A-Za-z0-9]+"? \d+ \d+ \d+</event> + <event id="dcc-medium" class="re" reason="using the DC.C SE.ND exploit" risk="medium" type="public" xresult="1">DCC SEND </event> + <event id="dcc-part" class="re" reason="using the DC.C SE.ND exploit in a part message" risk="high" type="part">DCC SEND </event> + <event id="dcc-topic" class="re" reason="setting a bad topic" risk="medium" type="topic">\bDCC SEND </event> + <event id="debugme" class="re" reason="sending a string designed to trigger a debug test alert, disregard this" risk="debug" type="public">debugantispambotdebug</event> + <event id="dronebl" class="dnsbl" reason="host $evhost is in dnsbl.dronebl.org ( $xresult )" risk="info" type="join" xresult="ALERT AFTERDEATH">dnsbl.dronebl.org</event> + <event id="efnetbl" class="dnsbl" reason="host $evhost is in rbl.efnetrbl.org ( $xresult )" risk="info" type="join" xresult="ALERT AFTERDEATH">rbl.efnetrbl.org</event> + <event id="genspam1" class="re" reason="generic spamming" risk="debug" type="public" xresult="1">([^ ]{4,} +)\1{5,}</event> + <event id="joinflood" class="floodqueue" reason="join flood (5 joins in 20 seconds)" risk="medium" type="join" xresult="1">5:20</event> + <event id="keylogger" class="re" override="keylogger-medium" reason="using the norton start-key-logger exploit" risk="high" type="public" xresult="1">^startkeylogger$|^stopkeylogger$</event> + <event id="keylogger-medium" class="re" reason="using the norton start-key-logger exploit" risk="medium" type="public" xresult="1">\bstartkeylogger\b|\bstopkeylogger\b</event> + <event id="last_measure_regex" class="re" reason="posting what appears to be a last measure link" risk="medium" type="public" xresult="1">http://\S+\.on\.nimp\.org</event> + <event id="levenflood" class="levenflood" override="flood-5to3" reason="levenshtein flood match" risk="debug" type="public" xresult="1">contentisuseless</event> + <event id="massflood" class="splitflood" reason="distributed flooding" risk="high" type="public,part,caction" xresult="1">4:4</event> + <event id="nickspam" class="nickspam" reason="nickspamming" risk="high" type="public" xresult="1">60:10</event> + <event id="notice" class="re" reason="sending a notice to the channel" risk="medium" type="notice" xresult="1">.*</event> + <event id="phishing1" class="re" override="notice" reason="trying to steal passwords (v1)" risk="high" type="notice">identify.*/msg .* identify <password></event> + <event id="phishing2" class="re" override="notice" reason="trying to steal passwords (v2)" risk="high" type="notice">^This nickname is registered</event> + <event id="proxybl" class="dnsbl" reason="host $evhost is in dnsbl.proxybl.org" risk="info" type="join">dnsbl.proxybl.org</event> + <event id="redarmyoflol" class="re" reason="parting with 'red army of lol'" risk="low" type="part">RED ARMY OF LOL</event> + <event id="sms_spam" class="re" reason="spam link / virus" risk="low" type="public" xresult="1">\.com/sms.exe</event> + <event id="suckmynick" class="re" reason="using a potentially offensive nick" risk="low" type="join">(suck.*dick)</event> + <event id="wikifags2" class="re" reason="saying 'sure are a lot of wikifag'..." risk="low" type="public">(?i)^sure are a ?lot of .*fags? in here</event> + <event id="sorbsbl" class="dnsbl" reason="host $evhost is in dnsbl.sorbs.net ( $xresult )" risk="info" type="join">dnsbl.sorbs.net</event> + <event id="njabl" class="dnsbl" reason="host $evhost is in dnsbl.njabl.org ( $xresult )" risk="info" type="join">dnsbl.njabl.org</event> + <event id="ahbl" class="dnsbl" reason="host $evhost is in dnsbl.ahbl.org ( $xresult )" risk="info" type="join">dnsbl.ahbl.org</event> <hilights> <debug>ST47</debug> <debug>pctony</debug> @@ -20,7 +20,7 @@ $::pass = ''; @::joinrate=(); #I really need to stop doing this shit BEGIN { -my @modules = qw/Util Xml Inspect Event Services Log Command Classes Actions Mysql OperQueue/; +my @modules = qw/Util Xml Inspect Event Services Log Command Classes Mysql/; require 'modules/' . lc $_ . '.pl' foreach @modules; } @@ -52,11 +52,9 @@ sub init { $conn->debug($debug); $::inspector = ASM::Inspect->new(); $::services = ASM::Services->new(); - $::oq = ASM::OperQueue->new(); $::commander = ASM::Commander->new(); $::event = ASM::Event->new($conn, $::inspector); $::classes = ASM::Classes->new(); - $::actions = ASM::Actions->new(); my @eline=io('exempt.txt')->getlines; chomp @eline; foreach my $item (@eline) { diff --git a/modules/actions.pl b/modules/actions.pl deleted file mode 100644 index 08bf1be..0000000 --- a/modules/actions.pl +++ /dev/null @@ -1,57 +0,0 @@ -package ASM::Actions; -use strict; -use warnings; - -sub new -{ - my $module = shift; - my $self = {}; - my $tbl = { - "ban" => \&ban, - "kban" => \&kban, - "kick" => \&kick, - "none" => \&none, - "quiet" => \&quiet, - }; - $self->{ftbl} = $tbl; - bless($self); - return $self; -} - -sub do -{ - my $self = shift; - my $item = shift; - return $self->{ftbl}->{$item}->(@_); -} - -sub ban { - my ($conn, $event, $chan) = @_; - $::oq->o_send( $conn, "mode $chan +b *!*\@$event->{host}" ); - return "mode $chan -b *!*\@$event->{host}"; -} - -sub kban { - my ($conn, $event, $chan) = @_; - $::oq->o_send($conn, "mode $chan +b *!*\@$event->{host}"); - $::oq->o_send($conn, "kick $chan $event->{nick} :Spamming"); - return "mode $chan -b *!*\@$event->{host}"; -} - -sub kick { - my ($conn, $event, $chan) = @_; - $::oq->o_send($conn, "kick $chan $event->{nick} :Spamming"); - return ""; -} - -sub none { - return ""; -} - -sub quiet { - my ($conn, $event, $chan) = @_; - $::oq->o_send( $conn, "mode $chan +b %*!*\@$event->{host}" ); - return "mode $chan -b %*!*\@$event->{host}"; -} - -1; diff --git a/modules/event.pl b/modules/event.pl index ab4fb1a..95df7f4 100644 --- a/modules/event.pl +++ b/modules/event.pl @@ -335,12 +335,6 @@ sub on_mode my @ex = @{$line}; if ( $ex[0] eq '+o' ) { $::sc{$chan}{users}{lc $ex[1]}{op}=1; - if (lc $ex[1] eq lc $::settings->{nick}) { - $::oq->doQueue($conn, $chan); - if ( $::channels->{channel}->{$chan}->{op} eq "when" ) { - $conn->schedule(600, sub {$conn->mode($chan, "-o $::settings->{nick}");}); - } - } } elsif ( $ex[0] eq '-o' ) { $::sc{$chan}{users}{lc $ex[1]}{op}=0; diff --git a/modules/inspect.pl b/modules/inspect.pl index f8e50b8..72a5438 100644 --- a/modules/inspect.pl +++ b/modules/inspect.pl @@ -71,19 +71,6 @@ sub inspect { "\x02$event->{nick}\x02 - ${nicereason}; ping "; $txtz = $txtz . ASM::Util->commaAndify(ASM::Util->getAlert(lc $chan, $dct{$id}{risk}, 'hilights')) if (ASM::Util->getAlert(lc $chan, $dct{$id}{risk}, 'hilights')); $txtz = $txtz . ' !att-' . $chan . '-' . $dct{$id}{risk}; - if (ASM::Util->cs(lc $chan)->{op} ne 'no') { - if ($event->{type} eq 'topic') { #restore old topic - my $oldtopic = $::sc{lc $event->{to}->[0]}{topic}{text}; - $::oq->o_send( $conn, "topic $chan :$oldtopic"); - $::oq->o_send( $conn, "mode $chan +t"); - } -# eval '$unmode = Actions::' . $dct{$id}{action} . '($conn, $event, $chan);'; - $unmode = $::actions->do($dct{$id}{action}, $conn, $event, $chan); - my $lconn=$conn; my $lunmode = $unmode; - if ((int($dct{$id}{time}) ne 0) && ($unmode ne '')) { - $conn->schedule(int($dct{$id}{time}), sub { $::oq->o_send($lconn,$lunmode); }); - } - } unless (defined($::ignored{$chan}) && ($::ignored{$chan} >= $::RISKS{$dct{$id}{risk}})) { my @tgts = ASM::Util->getAlert($chan, $dct{$id}{risk}, 'msgs'); foreach my $tgt (@tgts) { #unfortunately wikipedia has way too many ops, and it breaks things |
