summaryrefslogtreecommitdiffstats
path: root/modules/services.pl
diff options
context:
space:
mode:
authorLibravatarWilliam Heimbigner <william.heimbigner@gmail.com>2012-02-27 03:30:36 +0000
committerLibravatarWilliam Heimbigner <william.heimbigner@gmail.com>2012-02-27 03:30:36 +0000
commitfacb092fc79d0fffea96e48581c2e32e07d7443e (patch)
treef91b329cebb7835287fe69eb73a50a6d79bbe94d /modules/services.pl
parentbb894285dae60d829bbb470643d0c0e9a3c4b50d (diff)
join channels WAY faster on startup
Diffstat (limited to 'modules/services.pl')
-rw-r--r--modules/services.pl8
1 files changed, 5 insertions, 3 deletions
diff --git a/modules/services.pl b/modules/services.pl
index 597435f..bc25659 100644
--- a/modules/services.pl
+++ b/modules/services.pl
@@ -21,9 +21,11 @@ sub doServices {
}
elsif ( $event->{args}->[0] =~ /^You are now identified/ )
{
- foreach my $x ( @{$::settings->{autojoins}} ) {
- $conn->schedule($i, sub { $conn->join($x); });
- $i = $i + 5;
+ my @autojoins = @{$::settings->{autojoins}};
+ while (@autojoins) {
+ my $joinstr = join (',', shift @autojoins, shift @autojoins, shift @autojoins, shift @autojoins, shift @autojoins);
+ $conn->schedule($i, sub { $conn->join($joinstr); });
+ $i += 5;
}
}
elsif ($event->{args}->[0] =~ /has been killed$/ )