Source: phpbot.phps - download
<?php
//daif.net PHPBot  bot 1.0 beta
$server "irc.freenode.net";
$port 6667;
$name "PHPBot";
$join "#brmjh";
print 
"$name Started on ".date("Y/m/d h:i:s")."\n";
set_time_limit(0);
$socket fsockopen($server$port );
fputs($socket,"NICK $name\n");
fputs($socket,"USER $name  * * :php.net\n");
fputs$socket "JOIN $join\n");

while(
true){
    while(
$data fgets($socket256)){
        
$data trim($data);
        
$buff explode(" ",$data);
        print 
$data."\n";
        if(
$buff[0] == "PING"){
            
fputs($socket"PONG $buff[1]\n");
        }
        if(
preg_match("/:(.+)!(.+) PRIVMSG (.+) :($name): (.+)/",$data,$out)){
            list(,
$user,$host,$chan,$nick,$msg) = $out;
            if(
trim($msg)=='goodbye'){
                if(
$user=='daif') {
                    
fputs($socket,"QUIT Okay\n");
                    
sleep(2);
                    exit;
                } else {
                    
fputs($socket,"PRIVMSG ".$chan." : I am not going any where\n");
                }
            } else {
                
fputs($socket,"PRIVMSG ".$chan." :".PHPdoc($msg)."\n");
            }
        }
    }
}

function 
PHPdoc($term){
    
$term strtolower(trim($term));
    
$url "http://php.net/".$term;
    
$data =file_get_contents($url);//get page
    
preg_match('#<p class="verinfo">(.+)</p>.+<span class="dc-title">(.+)</span>#Usi',$data,$out);
    if(
count($out[0])){
        return(
"$term$out[1]$out[2]");
    }else{
        return(
"Term '$term' Not Found, try GooGle/");
    }
}

?>