mirror of
https://github.com/pragma-/pbot.git
synced 2024-11-26 22:09:26 +01:00
Implement antiflood.join_flood_channel
registry entry
This commit is contained in:
parent
7fce39a349
commit
9b114006e0
@ -128,9 +128,11 @@ sub cmd_unbanme {
|
|||||||
next if $aliases{$alias}->{type} == $self->{pbot}->{messagehistory}->{database}->{alias_type}->{WEAK};
|
next if $aliases{$alias}->{type} == $self->{pbot}->{messagehistory}->{database}->{alias_type}->{WEAK};
|
||||||
next if $aliases{$alias}->{nickchange} == 1;
|
next if $aliases{$alias}->{nickchange} == 1;
|
||||||
|
|
||||||
|
my $join_flood_channel = $self->{pbot}->{registry}->get_value('antiflood', 'join_flood_channel') // '#stop-join-flood';
|
||||||
|
|
||||||
my ($anick, $auser, $ahost) = $alias =~ m/([^!]+)!([^@]+)@(.*)/;
|
my ($anick, $auser, $ahost) = $alias =~ m/([^!]+)!([^@]+)@(.*)/;
|
||||||
my $banmask = $self->address_to_mask($ahost);
|
my $banmask = $self->address_to_mask($ahost);
|
||||||
my $mask = "*!$auser\@$banmask\$##stop_join_flood";
|
my $mask = "*!$auser\@$banmask\$$join_flood_channel";
|
||||||
|
|
||||||
my @channels = $self->{pbot}->{messagehistory}->{database}->get_channels($aliases{$alias}->{id});
|
my @channels = $self->{pbot}->{messagehistory}->{database}->get_channels($aliases{$alias}->{id});
|
||||||
|
|
||||||
@ -483,11 +485,13 @@ sub check_flood {
|
|||||||
my $duration = duration($timeout);
|
my $duration = duration($timeout);
|
||||||
my $banmask = $self->address_to_mask($host);
|
my $banmask = $self->address_to_mask($host);
|
||||||
|
|
||||||
|
my $join_flood_channel = $self->{pbot}->{registry}->get_value('antiflood', 'join_flood_channel') // '#stop-join-flood';
|
||||||
|
|
||||||
if ($self->{pbot}->{channels}->is_active_op("${channel}-floodbans")) {
|
if ($self->{pbot}->{channels}->is_active_op("${channel}-floodbans")) {
|
||||||
$self->{pbot}->{banlist}->ban_user_timed(
|
$self->{pbot}->{banlist}->ban_user_timed(
|
||||||
$chan . '-floodbans',
|
$chan . '-floodbans',
|
||||||
'b',
|
'b',
|
||||||
"*!$user\@$banmask\$##stop_join_flood",
|
"*!$user\@$banmask\$$join_flood_channel",
|
||||||
$timeout,
|
$timeout,
|
||||||
$self->{pbot}->{registry}->get_value('irc', 'botnick'),
|
$self->{pbot}->{registry}->get_value('irc', 'botnick'),
|
||||||
'join flooding',
|
'join flooding',
|
||||||
|
@ -303,8 +303,9 @@ sub track_mode {
|
|||||||
$self->{pbot}->{timer}->dequeue_event("unban $channel $mask");
|
$self->{pbot}->{timer}->dequeue_event("unban $channel $mask");
|
||||||
|
|
||||||
# freenode strips channel forwards from unban result if no ban exists with a channel forward
|
# freenode strips channel forwards from unban result if no ban exists with a channel forward
|
||||||
$self->{banlist}->remove($channel, "$mask\$##stop_join_flood");
|
my $join_flood_channel = $self->{pbot}->{registry}->get_value('antiflood', 'join_flood_channel') // '#stop-join-flood';
|
||||||
$self->{pbot}->{timer}->dequeue_event(lc "unban $channel $mask\$##stop_join_flood");
|
$self->{banlist}->remove($channel, "$mask\$$join_flood_channel");
|
||||||
|
$self->{pbot}->{timer}->dequeue_event(lc "unban $channel $mask\$$join_flood_channel");
|
||||||
} elsif ($mode eq "-$mute_char") {
|
} elsif ($mode eq "-$mute_char") {
|
||||||
$self->{quietlist}->remove($channel, $mask);
|
$self->{quietlist}->remove($channel, $mask);
|
||||||
$self->{pbot}->{timer}->dequeue_event("unmute $channel $mask");
|
$self->{pbot}->{timer}->dequeue_event("unmute $channel $mask");
|
||||||
|
Loading…
Reference in New Issue
Block a user