privmsg($event->{to}->[0], "source is at http://svn.linuxrulz.org/repos/antispammeta"); ]]> {DBH}; if ($1 eq 'log') { $dbh = $::db->{DBH_LOG}; } $::db->raw($conn, $event->{to}->[0], $dbh, $2); ]]> privmsg($event->{to}->[0], "help is at http://meta.wikimedia.org/wiki/User:WHeimbigner/AntiSpamMeta"); $conn->privmsg($event->{to}->[0], "You can also get faster help by emailing william dot heimbigner at ttu dot edu - or bug ErrantEgo or tomaw"); ]]> privmsg($event->{to}->[0], "db is at http://antispammeta.net/query.html"); ]]> query($channel, $nuh[0], $nuh[2], $nuh[4]); $conn->privmsg($event->{to}->[0], "$result results found."); ]]> {person}->{$nick} = { 'host' => $host }; ASM::XML->writeUsers(); $conn->privmsg($event->{to}->[0], "Hiya $nick"); ]]> {person}->{$nick}->{flags})) { $conn->privmsg($event->{to}->[0], "Flags for $nick: $::users->{person}->{$nick}->{flags}"); } else { $conn->privmsg($event->{to}->[0], "$nick has no flags"); } ]]> privmsg($event->{to}->[0], "The d flag may not be assigned over IRC. Edit the configuration manually."); return; } $::users->{person}->{$nick}->{flags} = $flags; ASM::XML->writeUsers(); $conn->privmsg($event->{to}->[0], "Flags for $nick set to $flags"); ]]> {person}->{$nick}); ASM::XML->writeUsers(); $conn->privmsg($event->{to}->[0], "Byebye $nick"); ]]> {channel}->{$chan}->{op}; if ($set eq "no") { $set = "when"; } else { $set = "no"; } $::channels->{channel}->{$chan}->{op} = $set; $conn->privmsg($event->{to}->[0], "Operator action for $chan set to \"$set\"."); ]]> getLink(lc $chan); if ( lc $link ne lc $chan ) { $conn->privmsg($event->{to}->[0], "Error: $chan is linked to $link - use $link instead."); return; } if ($level eq '') { $level = 'low'; } unless (defined($::channels->{channel}->{$chan}->{msgs})) { $::channels->{channel}->{$chan}->{msgs} = {}; } unless (defined($::channels->{channel}->{$chan}->{msgs}->{$level})) { $::channels->{channel}->{$chan}->{msgs}->{$level} = []; } my @tmphl = @{$::channels->{channel}->{$chan}->{msgs}->{$level}}; push(@tmphl, $nick); $::channels->{channel}->{$chan}->{msgs}->{$level} = \@tmphl; ASM::XML->writeChannels(); $conn->privmsg($event->{to}->[0], "$nick added to $level risk messages for $chan"); ]]> getLink(lc $chan); if ( lc $link ne lc $chan ) { $conn->privmsg($event->{to}->[0], "Error: $chan is linked to $link - use $link instead."); return; } foreach my $risk ( keys %::RISKS ) { next unless defined($::channels->{channel}->{$chan}->{msgs}->{$risk}); my @ppl = @{$::channels->{channel}->{$chan}->{msgs}->{$risk}}; @ppl = grep { lc $_ ne lc $nick } @ppl; $::channels->{channel}->{$chan}->{msgs}->{$risk} = \@ppl; } ASM::XML->writeChannels(); $conn->privmsg($event->{to}->[0], "$nick removed from targets for $chan"); ]]> {channel}})) { foreach my $level (keys(%{$::channels->{channel}->{$chan}->{hilights}})) { if (grep(/^${nick}$/i, @{$::channels->{channel}->{$chan}->{hilights}->{$level}})) { push @channels, $chan . " ($level)"; } } } if (! @channels) { $conn->privmsg($event->{to}->[0], "$nick isn't on any hilights"); } else { $conn->privmsg($event->{to}->[0], "$nick is hilighted for " . join(', ', @channels)); } ]]> privmsg($event->{to}->[0], "Error: I don't recognize $level as a valid level."); return; } my $link = ASM::Util->getLink(lc $chan); if ( lc $link ne lc $chan ) { $conn->privmsg($event->{to}->[0], "Error: $chan is linked to $link - use $link instead."); return; } unless (defined($::channels->{channel}->{$chan}->{hilights})) { $::channels->{channel}->{$chan}->{hilights} = {}; } unless (defined($::channels->{channel}->{$chan}->{hilights}->{$level})) { $::channels->{channel}->{$chan}->{hilights}->{$level} = []; } my @tmphl = @{$::channels->{channel}->{$chan}->{hilights}->{$level}}; push(@tmphl, $nick); $::channels->{channel}->{$chan}->{hilights}->{$level} = \@tmphl; ASM::XML->writeChannels(); $conn->privmsg($event->{to}->[0], "$nick added to $level risk hilights for $chan"); ]]> getLink(lc $chan); if ( lc $link ne lc $chan ) { $conn->privmsg($event->{to}->[0], "Error: $chan is linked to $link - use $link instead."); return; } foreach my $risk ( keys %::RISKS ) { next unless defined($::channels->{channel}->{$chan}->{hilights}->{$risk}); my @ppl = @{$::channels->{channel}->{$chan}->{hilights}->{$risk}}; @ppl = grep { lc $_ ne lc $nick } @ppl; $::channels->{channel}->{$chan}->{hilights}->{$risk} = \@ppl; } ASM::XML->writeChannels(); $conn->privmsg($event->{to}->[0], "Removing hilights for $nick in $chan"); ]]> {channel}->{$chan})) { $::channels->{channel}->{$chan} = { 'op' => 'no' }; ASM::XML->writeChannels(); } $conn->join($chan); my @autojoins = @{$::settings->{autojoins}}; @autojoins = (@autojoins, $chan); $::settings->{autojoins} = \@autojoins; ASM::XML->writeSettings(); ]]> part($chan); my @autojoins = @{$::settings->{autojoins}}; @autojoins = grep { lc $_ ne lc $chan } @autojoins; $::settings->{autojoins} = \@autojoins; ASM::XML->writeSettings(); ]]> sl($1); ]]> quit($1); ]]> readXML(); my @strbl = io('string_blacklist.txt')->getlines; chomp @strbl; @::string_blacklist = @strbl; my @eline=io('exempt.txt')->getlines; chomp @eline; %::eline = (); foreach my $item (@eline) { $::eline{lc $item} = 1; } $conn->privmsg($event->{to}->[0], 'config files were re-read'); ]]> privmsg($event->{to}->[0], $1); ]]> me($event->{to}->[0], $1); ]]> > io 'exempt.txt'; $conn->privmsg($event->{to}->[0], $x . " exempted"); ]]> {nick}}->{dnsbl} == 0) { my $tgt = $event->{to}->[0]; $tgt = $1 if (defined($1)); my $msg = $1; $msg = $2 if defined($2); unless (defined($::ignored{$tgt}) && ($::ignored{$tgt} >= $::RISKS{'opalert'})) { $::ignored{$tgt} = $::RISKS{'opalert'}; $conn->schedule(30, sub { delete($::ignored{$tgt})}); my $hilite=ASM::Util->commaAndify(ASM::Util->getAlert($tgt, 'opalert', 'hilights')); $conn->privmsg($_, "[\x02$tgt\x02] - $event->{nick} wants op attention ($msg) $hilite") foreach ASM::Util->getAlert($tgt, 'opalert', 'msgs'); } } ]]> > io 'string_blacklist.txt'; $conn->privmsg($event->{to}->[0], "$str blacklisted"); ]]>