summaryrefslogtreecommitdiffstats
path: root/config-default/commands.xml
diff options
context:
space:
mode:
authorLibravatarJanik Kleinhoff <janik@kleinhoff.de>2015-03-08 18:36:40 +0400
committerLibravatarJanik Kleinhoff <janik@kleinhoff.de>2015-03-08 18:36:40 +0400
commit4abe2ec58ca18faaff3fa6e33d3b97033b361ef6 (patch)
tree590f9c8c585b9ea72a2fbfe9a2b4cf5a0fcabbb2 /config-default/commands.xml
parentc9fff1ee6bde3e5f345781556508bd4612dbd58a (diff)
Avoid putting channels in autojoin more than once
Diffstat (limited to 'config-default/commands.xml')
-rw-r--r--config-default/commands.xml11
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">