diff options
| author | 2015-12-20 03:22:44 +0400 | |
|---|---|---|
| committer | 2015-12-20 03:22:44 +0400 | |
| commit | 9ff93cc7e050fbf7117413a17b74a4112b72183d (patch) | |
| tree | 3e5c6991b0a3e832b952b0e5ee9dc99d98367434 /config-default | |
| parent | e052f5f45a96b9bf5ad4cea10a0533b724cc3a19 (diff) | |
Added ability to have regex-based blacklisting
Diffstat (limited to 'config-default')
| -rw-r--r-- | config-default/commands.xml | 15 | ||||
| -rw-r--r-- | config-default/rules.xml | 1 |
2 files changed, 14 insertions, 2 deletions
diff --git a/config-default/commands.xml b/config-default/commands.xml index 463b2e6..38c2d99 100644 --- a/config-default/commands.xml +++ b/config-default/commands.xml @@ -649,7 +649,17 @@ my $str = lc $1; use String::CRC32; my $id = sprintf("%08x", crc32($str)); - $::blacklist->{string}->{$id} = { "content" => $str, "setby" => $event->nick, "settime" => strftime('%F', gmtime) }; + $::blacklist->{string}->{$id} = { "content" => $str, "type" => "string", "setby" => $event->nick, "settime" => strftime('%F', gmtime) }; + ASM::XML->writeBlacklist(); + $conn->privmsg($event->replyto, "$str blacklisted with id $id, please use ;blreason $id reasonGoesHere to set a reason"); + ]]> + </command> + <command cmd="^;blacklistpcre (.*)" flag="a"> + <![CDATA[ + my $str = lc $1; + use String::CRC32; + my $id = sprintf("%08x", crc32($str)); + $::blacklist->{string}->{$id} = { "content" => $str, "type" => "pcre", "setby" => $event->nick, "settime" => strftime('%F', gmtime) }; ASM::XML->writeBlacklist(); $conn->privmsg($event->replyto, "$str blacklisted with id $id, please use ;blreason $id reasonGoesHere to set a reason"); ]]> @@ -713,8 +723,9 @@ my $setby = $::blacklist->{string}->{$id}->{setby}; my $settime = $::blacklist->{string}->{$id}->{settime}; my $reason = $::blacklist->{string}->{$id}->{reason}; + my $type = $::blacklist->{string}->{$id}->{type}; $reason = 'none ever provided' unless defined($reason); - $conn->privmsg($event->nick, "'$content' blacklisted by $setby on $settime with reason $reason"); + $conn->privmsg($event->nick, "'$content' $type blacklisted by $setby on $settime with reason $reason"); if ($event->{to}->[0] =~ /^#/) { $conn->privmsg($event->replyto, "Info on blacklist ID $id sent via PM"); } diff --git a/config-default/rules.xml b/config-default/rules.xml index af49a16..19fe2be 100644 --- a/config-default/rules.xml +++ b/config-default/rules.xml @@ -8,6 +8,7 @@ <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,part,quit,caction">blah</event> <event id="blacklist2" class="strblnew" reason="blacklist $xresult" risk="medium" type="public,part,quit,caction">blah</event> + <event id="blacklistpcre" class="strblpcre" reason="pcre blacklist $xresult" risk="medium" type="public,part,quit,caction">blah</event> <event id="ctcp-dcc" class="re" reason="ctcp-dcc" risk="high" type="cdcc">.*</event> <event id="ctcp-ping" class="re" reason="channel-wide CTCP PING" risk="medium" type="cping">.*</event> <event id="ctcp-version" class="re" reason="channel-wide CTCP VERSION" risk="medium" type="cversion">.*</event> |
