diff options
| author | 2015-12-04 11:10:56 +0400 | |
|---|---|---|
| committer | 2015-12-04 11:10:56 +0400 | |
| commit | 9f74a4bf7bbe1695354a954e13912d74a4173b02 (patch) | |
| tree | 8d752896007dfa3e3e995b4b5d7aafe18af5482f /lib/ASM/Services.pm | |
| parent | 8573114bda2d6de4cf9360900b4d1e80f05db4b1 (diff) | |
Better services handling
Diffstat (limited to 'lib/ASM/Services.pm')
| -rw-r--r-- | lib/ASM/Services.pm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/ASM/Services.pm b/lib/ASM/Services.pm index 528901d..2d4beb6 100644 --- a/lib/ASM/Services.pm +++ b/lib/ASM/Services.pm @@ -18,9 +18,10 @@ sub doServices { if ($event->{from} eq 'NickServ!NickServ@services.') { ASM::Util->dprint("NickServ: $event->{args}->[0]", 'snotice'); - if ( $event->{args}->[0] =~ /^This nickname is registered/ ) + if ( $::no_autojoins && $event->{args}->[0] =~ /^Please identify/ ) { - $conn->privmsg( 'NickServ@services.', "identify $::settings->{nick} $::settings->{pass}" ); + $::no_autojoins = 0; + $conn->sl("NickServ identify $::settings->{nick} $::settings->{pass}" ); } elsif ( $event->{args}->[0] =~ /^You are now identified/ ) { @@ -52,6 +53,12 @@ sub doServices { { die("NickServ password invalid.") } + elsif ($event->{args}->[0] =~ /frozen/ ) + { + $::no_autojoins = 1; + $conn->join($::settings->{masterchan}); # always join masterchan, so we can find you + $conn->sl("PING :" . time); + } } elsif ($event->{from} eq 'ChanServ!ChanServ@services.') { |
