diff options
| author | 2012-08-19 03:23:35 +0000 | |
|---|---|---|
| committer | 2012-08-19 03:23:35 +0000 | |
| commit | 96a28d32af3d3aaa8292cbb7a498d2fbdca32546 (patch) | |
| tree | 4ed4dfe077460f892c0a111a1862852724dc1de1 | |
| parent | fae3a46e8813b4804a6c23f6ee397fd8c8ede0bc (diff) | |
Utilize debug printer, remove dead code, eliminate a warning in mode tracking, handle joining channels better (less warnings), ignore chanserv entrymsgs
| -rw-r--r-- | modules/classes.pl | 14 | ||||
| -rw-r--r-- | modules/event.pl | 71 | ||||
| -rw-r--r-- | modules/services.pl | 33 |
3 files changed, 48 insertions, 70 deletions
diff --git a/modules/classes.pl b/modules/classes.pl index c8dcc54..f943976 100644 --- a/modules/classes.pl +++ b/modules/classes.pl @@ -108,23 +108,19 @@ sub dnsbl # but I'm getting rid of it so it can detect cgi:irc shit return 0; if (defined $rev) { - print "Querying $rev$chk->{content}\n" if $::debugx{dnsbl}; + ASM::Util->dprint("Querying $rev$chk->{content}", "dnsbl"); my $iaddr = gethostbyname( "$rev$chk->{content}" ); my @dnsbl = unpack( 'C4', $iaddr ) if defined $iaddr; my $strip; if (@dnsbl) { $strip = sprintf("%s.%s.%s.%s", @dnsbl); - if ($::debug) { - print "found host (rev $rev) in $chk->{content} - $strip\n" unless ($strip eq '216.234.246.150'); - } + ASM::Util->dprint("found host (rev $rev) in $chk->{content} - $strip", 'dnsbl') unless ($strip eq '216.234.246.150'); } if ((@dnsbl) && (defined($::dnsbl->{query}->{$chk->{content}}->{response}->{$strip}))) { $::lastlookup=$::dnsbl->{query}->{$chk->{content}}->{response}->{$strip}->{content}; - if ($::debug) { - print "chk->content: $chk->{content}\n"; - print "strip: $strip\n"; - print "result: " . $::dnsbl->{query}->{$chk->{content}}->{response}->{$strip}->{content} . "\n"; - } + ASM::Util->dprint("chk->content: $chk->{content}", 'dnsbl'); + ASM::Util->dprint("strip: $strip", 'dnsbl'); + ASM::Util->dprint("result: " . $::dnsbl->{query}->{$chk->{content}}->{response}->{$strip}->{content}, 'dnsbl'); $::sn{lc $event->{nick}}->{dnsbl} = 1; # lol really icky hax return $::dnsbl->{query}->{$chk->{content}}->{response}->{$strip}->{content}; diff --git a/modules/event.pl b/modules/event.pl index a0b3385..1a2ab14 100644 --- a/modules/event.pl +++ b/modules/event.pl @@ -34,7 +34,7 @@ sub new my $self = {}; $self->{CONN} = $conn; $self->{INSPECTOR} = $inspector; - print "Installing handler routines...\n"; + ASM::Util->dprint('Installing handler routines...', 'startup'); $conn->add_default_handler(\&blah); $conn->add_handler('bannedfromchan', \&on_bannedfromchan); $conn->add_handler('mode', \&on_mode); @@ -82,15 +82,14 @@ sub on_pong my ($conn, $event) = @_; alarm 60; $conn->schedule( 30, sub { $conn->sl("PING :" . time); } ); - return unless $::debugx{pingpong}; - print strftime("%F %T ", gmtime) . "Ping? Pong!\n"; - print Dumper($event); + ASM::Util->dprint('Ping? Pong!', 'pingpong'); + ASM::Util->dprint(Dumper($event), 'pingpong'); } sub on_dchat { my ($conn, $event) = @_; - print Dumper($event); + ASM::Util->dprint(Dumper($event), 'dcc'); if ( #(lc $event->{nick} eq 'afterdeath') && ($event->{args}->[0] ne '')) { my $msg = $event->{args}->[0]; @@ -119,9 +118,8 @@ sub on_ping my ($conn, $event) = @_; $conn->sl("PONG " . $event->{args}->[0]); alarm 200; - return unless $::debugx{pingpong}; - print strftime("%F %T ", gmtime) . "Ping? Pong!\n"; - print Dumper($event); + ASM::Util->dprint('Ping! Pong?', 'pingpong'); + ASM::Util->dprint(Dumper($event), 'pingpong'); } sub on_account @@ -134,9 +132,8 @@ sub on_connect { my ($conn, $event) = @_; # need to check for no services $conn->sl('MODE AntiSpamMeta +Q'); if (lc $event->{args}->[0] ne lc $::settings->{nick}) { + ASM::Util->dprint('Attempting to regain my main nick', 'startup'); $conn->privmsg( 'NickServ', "regain $::settings->{nick} $::settings->{pass}" ); -# $conn->privmsg( 'NickServ', "ghost $::settings->{nick} $::settings->{pass}" ); -# $conn->privmsg( 'NickServ', "release $::settings->{nick} $::settings->{pass}" ); } $conn->sl('CAP REQ :extended-join multi-prefix account-notify'); #god help you if you try to use this bot off freenode } @@ -215,7 +212,7 @@ sub on_msg { my ($conn, $event) = @_; $::commander->command($conn, $event); - print strftime("%F %T ", gmtime) . "(msg) " . $event->{from} . " - " . $event->{args}->[0] . "\n"; + ASM::Util->dprint($event->{from} . " - " . $event->{args}->[0], 'msg'); if (ASM::Util->notRestricted($event->{nick}, "nomsgs")) { $conn->privmsg('#antispammeta', $event->{from} . ' told me: ' . $event->{args}->[0]); } @@ -245,7 +242,7 @@ sub on_errnickinuse { my ($conn, $event) = @_; $_ = ${$::settings->{altnicks}}[rand @{$::settings->{altnicks}}]; - print "Nick is in use, trying $_\n"; + ASM::Util->dprint("Nick is in use, trying $_", 'startup'); $conn->nick($_); } @@ -253,7 +250,7 @@ sub on_bannickchange { my ($conn, $event) = @_; $_ = ${$::settings->{altnicks}}[rand @{$::settings->{altnicks}}]; - print "Nick is in use, trying $_\n"; + ASM::Util->dprint("Nick is in use, trying $_", 'startup'); $conn->nick($_); } @@ -279,7 +276,7 @@ sub on_quit sub blah { my ($self, $event) = @_; - print Dumper($event) if $::debug; + ASM::Util->dprint(Dumper($event), 'misc'); $::inspector->inspect($self, $event); } @@ -438,18 +435,12 @@ sub on_mode my @modes = @{parse_modes($event->{args})}; foreach my $line ( @modes ) { my @ex = @{$line}; - if ( $ex[0] eq '+o' ) { - $::sc{$chan}{users}{lc $ex[1]}{op}=1; - } - elsif ( $ex[0] eq '-o' ) { - $::sc{$chan}{users}{lc $ex[1]}{op}=0; - } - elsif ( $ex[0] eq '+v' ) { - $::sc{$chan}{users}{lc $ex[1]}{voice}=1; - } - elsif ( $ex[0] eq '-v' ) { - $::sc{$chan}{users}{lc $ex[1]}{voice}=0; - } + + if ( $ex[0] eq '+o' ) { $::sc{$chan}{users}{lc $ex[1]}{op} = 1; } + elsif ( $ex[0] eq '-o' ) { $::sc{$chan}{users}{lc $ex[1]}{op} = 0; } + elsif ( $ex[0] eq '+v' ) { $::sc{$chan}{users}{lc $ex[1]}{voice} = 1; } + elsif ( $ex[0] eq '-v' ) { $::sc{$chan}{users}{lc $ex[1]}{voice} = 0; } + elsif ( $ex[0] eq '+b') { $::sc{$chan}{bans}{$ex[1]} = { bannedBy => $event->{from}, bannedOn => time }; } @@ -465,7 +456,8 @@ sub on_mode else { my ($what, $mode) = split (//, $ex[0]); if ($what eq '+') { - push @{$::sc{$chan}{modes}}, $mode . ' ' . $ex[1]; + if (defined($ex[1])) { push @{$::sc{$chan}{modes}}, $mode . ' ' . $ex[1]; } + else { push @{$::sc{$chan}{modes}}, $mode; } } else { my @modes = grep {!/^$mode/} @{$::sc{$chan}{modes}}; $::sc{$chan}{modes} = \@modes; @@ -497,13 +489,6 @@ sub checkRegged sub on_banlist { my ($conn, $event) = @_; -# 'args' => [ -# 'AntiSpamMetaBeta', -# '#antispammeta', -# 'test!*@*', -# 'fn-troll!icxcnika@freenode/weird-exception/network-troll/afterdeath', -# '1344235684' -# ], my ($me, $chan, $ban, $banner, $bantime) = @{$event->{args}}; $::sc{lc $chan}{bans}{$ban} = { bannedBy => $banner, bannedOn => $bantime }; } @@ -511,14 +496,6 @@ sub on_banlist sub on_quietlist { my ($conn, $event) = @_; -# 'args' => [ -# 'AntiSpamMetaBeta', -# '#antispammeta', -# 'q', -# 'loltest!*@*', -# 'fn-troll!icxcnika@freenode/weird-exception/network-troll/afterdeath', -# '1344755722' -# ], my ($me, $chan, $mode, $ban, $banner, $bantime) = @{$event->{args}}; $::sc{lc $chan}{quiets}{$ban} = { bannedBy => $banner, bannedOn => $bantime }; } @@ -531,7 +508,7 @@ sub on_ctcp (defined($::users->{person}->{$acct})) && (defined($::users->{person}->{$acct}->{flags})) && (grep {$_ eq 'c'} split('', $::users->{person}->{$acct}->{flags}))) { - print Dumper($event); + ASM::Util->dprint(Dumper($event), 'dcc'); my @spit = split(/ /, $event->{args}->[0]); if (($spit[0] eq 'CHAT') && ($spit[1] eq 'CHAT')) { $::chat = Net::IRC::DCC::CHAT->new($conn, 0, lc $event->{nick}, $spit[2], $spit[3]); @@ -544,7 +521,6 @@ sub on_ctcp sub dcc_open { my ($conn, $event) = @_; -# print Dumper($event); $::dsock{lc $event->{nick}} = $event->{args}->[1]; } @@ -579,7 +555,6 @@ sub on_whoxover { my ($conn, $event) = @_; my $chan = pop @::syncqueue; -# print Dumper($event); $::synced{$event->{args}->[1]} = 1; if (defined($chan) ){ $conn->sl('who ' . $chan . ' %tcnuhra,314'); @@ -606,15 +581,13 @@ sub on_whoxover sub on_whofuckedup { my ($conn, $event) = @_; - if ($::debugx{sync}) { - print "on_whofuckedup called!\n"; - } + ASM::Util->dprint('on_whofuckedup called!', 'sync'); } sub on_bannedfromchan { my ($conn, $event) = @_; + ASM::Util->dprint("I'm banned from " . $event->{args}->[1] . "... attempting to unban myself", 'startup'); $conn->privmsg('ChanServ', "unban $event->{args}->[1]"); - print "I'm banned from " . $event->{args}->[1] . "... attempting to unban myself\n"; } sub on_byechan { diff --git a/modules/services.pl b/modules/services.pl index d2b3d31..2950253 100644 --- a/modules/services.pl +++ b/modules/services.pl @@ -2,6 +2,9 @@ package ASM::Services; use warnings; use strict; +use Data::Dumper; +$Data::Dumper::Useqq=1; + sub new { my $self = {}; @@ -14,7 +17,7 @@ sub doServices { my $i = 1; if ($event->{from} eq 'NickServ!NickServ@services.') { - print "NickServ: $event->{args}->[0]\n"; + ASM::Util->dprint("NickServ: $event->{args}->[0]", 'services'); if ( $event->{args}->[0] =~ /^This nickname is registered/ ) { $conn->privmsg( 'NickServ', "identify $::settings->{nick} $::settings->{pass}" ); @@ -22,24 +25,27 @@ sub doServices { elsif ( $event->{args}->[0] =~ /^You are now identified/ ) { my @autojoins = @{$::settings->{autojoins}}; -# while (@autojoins) { -# my $joinstr = join (',', shift @autojoins, shift @autojoins, shift @autojoins, shift @autojoins, shift @autojoins, -# shift @autojoins, shift @autojoins, shift @autojoins, shift @autojoins, shift @autojoins); -# $conn->schedule($i, sub { $conn->join($joinstr); }); -# $i += 1; -# } - $conn->join(join(',', @autojoins[0..30])); - $conn->join(join(',', @autojoins[30..60])); + if (defined($autojoins[30])) { + $conn->join(join(',', @autojoins[0..30])); + if (defined($autojoins[60])) { + $conn->join(join(',', @autojoins[30..60])); + $conn->join(join(',', @autojoins[60..$#autojoins])); + } else { + $conn->join(join(',', @autojoins[30..$#autojoins])); + } + } else { + $conn->join(join(',', @autojoins)); + } $conn->schedule(2, sub { $conn->privmsg('#antispammeta', 'Now joined to all channels in '. (time - $::starttime) . " seconds."); }); } elsif ($event->{args}->[0] =~ /has been (killed|released)/ ) { - print "Got kill/release successful from nickserv!\n" if $::debugx{services}; + ASM::Util->dprint('Got kill/release successful from NickServ!', 'services'); $conn->nick( $::settings->{nick} ); } elsif ($event->{args}->[0] =~ /has been regained/ ) { - print "Got regain successful from nickserv!\n" if $::debugx{services}; + ASM::Util->dprint('Got regain successful from nickserv!', 'services'); } elsif ($event->{args}->[0] =~ /Password Incorrect/ ) { @@ -48,7 +54,10 @@ sub doServices { } elsif ($event->{from} eq 'ChanServ!ChanServ@services.') { - print "ChanServ: $event->{args}->[0] \n"; + if ( $event->{args}->[0] =~ /^\[#/ ) { + return; + } + ASM::Util->dprint('ChanServ: '. Dumper($event->{args}->[0]), 'services'); if ( $event->{args}->[0] =~ /^All.*bans matching.*have been cleared on(.*)/) { $conn->join($1); |
