summaryrefslogtreecommitdiffstats
path: root/lib/ASM/Services.pm
diff options
context:
space:
mode:
authorLibravatarDoug Freed <dwfreed@mtu.edu>2015-12-04 11:10:56 +0400
committerLibravatarDoug Freed <dwfreed@mtu.edu>2015-12-04 11:10:56 +0400
commit9f74a4bf7bbe1695354a954e13912d74a4173b02 (patch)
tree8d752896007dfa3e3e995b4b5d7aafe18af5482f /lib/ASM/Services.pm
parent8573114bda2d6de4cf9360900b4d1e80f05db4b1 (diff)
Better services handling
Diffstat (limited to 'lib/ASM/Services.pm')
-rw-r--r--lib/ASM/Services.pm11
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.')
{