diff options
| author | 2015-03-08 18:36:40 +0400 | |
|---|---|---|
| committer | 2015-03-08 18:36:40 +0400 | |
| commit | 4abe2ec58ca18faaff3fa6e33d3b97033b361ef6 (patch) | |
| tree | 590f9c8c585b9ea72a2fbfe9a2b4cf5a0fcabbb2 | |
| parent | c9fff1ee6bde3e5f345781556508bd4612dbd58a (diff) | |
Avoid putting channels in autojoin more than once
| -rw-r--r-- | config-default/commands.xml | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/config-default/commands.xml b/config-default/commands.xml index a29c7cd..8fb62c9 100644 --- a/config-default/commands.xml +++ b/config-default/commands.xml @@ -474,16 +474,19 @@ </command> <command cmd="^;join (\S+)" flag="a"> <![CDATA[ - my $chan = $1; + my $chan = lc $1; + use List::Util qw(none); unless (defined($::channels->{channel}->{$chan})) { $::channels->{channel}->{$chan} = { }; ASM::XML->writeChannels(); } $conn->join($chan); my @autojoins = @{$::settings->{autojoins}}; - @autojoins = (@autojoins, $chan); - $::settings->{autojoins} = \@autojoins; - ASM::XML->writeSettings(); + if (none { $chan eq lc $_ } @autojoins) { + @autojoins = (@autojoins, $chan); + $::settings->{autojoins} = \@autojoins; + ASM::XML->writeSettings(); + } ]]> </command> <command cmd="^;part (\S+)" flag="a"> |
