summaryrefslogtreecommitdiff
path: root/bot.pl
diff options
context:
space:
mode:
Diffstat (limited to 'bot.pl')
-rw-r--r--bot.pl26
1 files changed, 7 insertions, 19 deletions
diff --git a/bot.pl b/bot.pl
index 486765f..341a67c 100644
--- a/bot.pl
+++ b/bot.pl
@@ -1,22 +1,4 @@
1#!/usr/bin/perl 1#!/usr/bin/perl
2#
3# ircbot.pl written by detour@metalshell.com
4#
5# This irc bot will handle and print the motd, users on a channel
6# joins, parts, quits, nick changes, and public msgs's.
7#
8# You can bind a sub to any numeric reply by using irc_<num>.
9# For example 376 is the RPL_ENDOFMOTD, so to catch this response
10# you add irc_376 => \&your_sub to your session.
11#
12# This requires that you have POE and POE::Component::IRC
13# installed. A simple way to do this is using the cpan module.
14# perl -MCPAN -eshell
15# cpan> install POE
16# cpan> install POE::Component::IRC
17#
18# http://www.metalshell.com
19
20 2
21use strict; 3use strict;
22 4
@@ -33,7 +15,9 @@ POE::Session->new ( _start => \&irc_start,
33 irc_376 => \&irc_connect, #end of motd 15 irc_376 => \&irc_connect, #end of motd
34 irc_372 => \&irc_motd, 16 irc_372 => \&irc_motd,
35 irc_353 => \&irc_names, 17 irc_353 => \&irc_names,
36 irc_public => \&irc_pub_msg, ); 18 irc_public => \&irc_pub_msg,
19 irc_msg => \&irc_priv_msg,
20);
37 21
38sub irc_start { 22sub irc_start {
39 # KERNEL, HEAP, and SESSION are constants exported by POE 23 # KERNEL, HEAP, and SESSION are constants exported by POE
@@ -115,5 +99,9 @@ sub irc_pub_msg{
115 print "$channel: <$nick> $msg\n"; 99 print "$channel: <$nick> $msg\n";
116} 100}
117 101
102sub irc_priv_msg{
103 print "Got a PM\n";
104}
105
118#start everything 106#start everything
119$poe_kernel->run(); 107$poe_kernel->run();