summaryrefslogtreecommitdiffstats
path: root/modules/services.pl
diff options
context:
space:
mode:
authorLibravatarWilliam Heimbigner <william.heimbigner@gmail.com>2007-06-06 21:30:25 +0000
committerLibravatarWilliam Heimbigner <william.heimbigner@gmail.com>2007-06-06 21:30:25 +0000
commit04c4d4ae0d6fdfe9e59a50e79b40047a08feefb7 (patch)
tree3db7aa17c73151e038f08e3cd0c1b2faffc0c482 /modules/services.pl
parent110cb874fc58ae4a214889bb8d6545201a57dd2f (diff)
Added files
Diffstat (limited to 'modules/services.pl')
-rw-r--r--modules/services.pl44
1 files changed, 44 insertions, 0 deletions
diff --git a/modules/services.pl b/modules/services.pl
new file mode 100644
index 0000000..d110b60
--- /dev/null
+++ b/modules/services.pl
@@ -0,0 +1,44 @@
+use warnings;
+use strict;
+
+sub doServices {
+ my ($conn, $event) = @_;
+ if ($event->{from} eq 'NickServ!NickServ@services.')
+ {
+ print "NickServ: $event->{args}->[0]\n";
+ if ( $event->{args}->[0] eq 'This nickname is owned by someone else' )
+ {
+ $conn->privmsg( 'NickServ', "identify $::pass" );
+ }
+ elsif ( $event->{args}->[0] eq 'Password accepted - you are now recognized' )
+ {
+ $conn->join($_) foreach ( @{$::settings->{autojoins}} );
+ }
+ elsif ($event->{args}->[0] =~ /has been killed$/ )
+ {
+ $conn->nick( $::settings->{nick} );
+ }
+ elsif ($event->{args}->[0] =~ /Password Incorrect/ )
+ {
+ $conn->join($_) foreach ( @{$::settings->{autojoins}} );
+ }
+ }
+ elsif ($event->{from} eq 'ChanServ!ChanServ@services.')
+ {
+ print "ChanServ: $event->{args}->[0] \n";
+ if ($event->{args}->[0] =~ /You are already opped on \[.(.*).\]/)
+ {
+ doQueue($conn, $1);
+ }
+ elsif ( $event->{args}->[0] =~ /^All.*bans matching.*have been cleared on(.*)/)
+ {
+ $conn->join($1);
+ }
+ }
+}
+
+sub Services::killsub {
+ undef &doServices;
+}
+
+return 1;