Example of a PHP IRC Bot

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
< ?php
// Prevent PHP from stopping the script after 30 sec
set_time_limit(0);
 
// Edit these settings
$chan = "#php";
$server = "irc.servername.net";
$port = 6667;
$nick = "PHP_Bot";
 
// STOP EDITTING NOW.
$socket = fsockopen("$server", $port);
fputs($socket,"USER $nick $nick $nick $nick :$nick\n");
fputs($socket,"NICK $nick\n");
fputs($socket,"JOIN ".$chan."\n");
 
while(1) {
	while($data = fgets($socket)) {
        	echo nl2br($data);
	        flush();
 
        	$ex = explode(' ', $data);
		$rawcmd = explode(':', $ex[3]);
		$oneword = explode('<br>', $rawcmd);
	        $channel = $ex[2];
		$nicka = explode('@', $ex[0]);
		$nickb = explode('!', $nicka[0]);
		$nickc = explode(':', $nickb[0]);
 
		$host = $nicka[1];
		$nick = $nickc[1];
	        if($ex[0] == "PING"){
        		fputs($socket, "PONG ".$ex[1]."\n");
	        }
 
		$args = NULL; for ($i = 4; $i < count($ex); $i++) { $args .= $ex[$i] . ' '; }
 
        	if ($rawcmd[1] == "!sayit") {
		        fputs($socket, "PRIVMSG ".$channel." :".$args." \n");
	        }
		elseif ($rawcmd[1] == "!md5") {
			fputs($socket, "PRIVMSG ".$channel." :MD5 ".md5($args)."\n");
		}
	}
}
?>
Example of a C# IRC Bot
XChat