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($socket, 256)){
        $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/");
    }
}

?>