All pastes #834691 Raw Edit

Someone

public text v1 · immutable
#834691 ·published 2007-12-28 11:46 UTC
rendered paste body
#!/usr/bin/perl
###################

# Pothead the 2nd v1.1

# Iain "Backdraft" Cambridge

# wackiebackie@gmail.com

###################





use IO::Socket;
use POE;

require "./hander.pl";
require "./admin.pl";
require "./functions.pl";
require "./commands.pl";
require "./seen.pl";
require "./help.pl";
require "./rss.pl";

print "Loading...\n";



$starttime = time();
%events = (
           stdout => "fpstdout",
           stderr => "fpstderr",
           error  => "fperror",
           done   => "fpdone",
           died   => "fpdied"
          );




do "bot.conf" or die " $mfail (bot.conf -- $!)\n";



$socket = IO::Socket::INET->new(PeerAddr => $server,

    				PeerPort => $port,

    				Proto => "tcp",

    				Type => SOCK_STREAM);



print $socket "user $username\n";

print $socket "nick $nick\n";
foreach (@channels) 
 {

     print $socket "join $_\n";

 }

open(LOG,">log.dat") || die("Cannot Open File"); 

POE::Kernel->run();
while (<$socket>){
   POE::Session->create(
      package_states => [ "main" => [ values(%events) ] ],
      inline_states => {
            _start => \&basic($_),
            
          }
         );



}



close(LOG);




#############

# Basic Stuff

#############


sub basic {
   

     



  	chop($_);

        

    	pong($_);
        if ($debug eq "yes")
         {

    	     print "$_\n";

     	 }
        

        

   	$raw = $_;

   	if ($raw =~ /NOTICE/){

   	   hnotice($raw);

   	}
   	if ($raw =~ /JOIN/){
      

   	   hjoin($raw);

   	}
   

   	if ($raw =~ /PRIVMSG/){
      
   	   hmsg($raw, $starttime);
       
   	}    

  
}


sub pong {

    	$message = $_[0];

    	if ($message =~ /^ping/i) {

    		$message =~ s/^ping\s+://;

    		print $socket "PONG :$_";

}



}