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/");
}
}
?>