v PRIVMSG " . $rec . " :" . $args . "\r\n"; } function irc_send_action($rec, $args) { global $socket; socket_write($socket, "PRIVMSG " . $rec . " :ACTION " . $args . "\r\n"); echo "-> ACTION " . $rec . " " . $args . "\r\n"; } function irc_send_notice($rec, $args) { global $socket; socket_write($socket, "NOTICE " . $rec . " :" . $args . "\r\n"); echo "-> NOTICE " . $rec . " " . $args . "\r\n"; } function irc_send_ctcp($rec, $args) { global $socket; socket_write($socket, "PRIVMSG " . $rec . " :" . $args . "\r\n"); echo "-> CTCP " . $rec . " " . $args . "\r\n"; } function irc_send_raw($args) { global $socket; socket_write($socket, $rec . "\r\n"); echo "-> " . $args . "\r\n"; } // Set time limit to 0 so that the script doesn't stop after a certain time set_time_limit(0); // Create a socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // Bind to local address socket_bind($socket, $vhost); // Connect to server socket_connect($socket, $server, $port); // Die if not connected if (!$socket) { die; } // Register socket_write($socket,"USER " . $name . " insanel2.net Rena :" . $name . "\r\n"); socket_write($socket,"NICK " . $nick . "\r\n"); // Commands to perform upon successful connection // Remove host cloaking socket_write($socket,"MODE Catlin -x\r\n"); // Join channel(s) socket_write($socket,"JOIN " . $chan . "\r\n"); while(1) { while($data = socket_read($socket, 128)) { echo "<- " . nl2br($data); flush(); // Separate all data $ex = explode(' ', $data, 4); $message = substr($ex[3], 1, -1); list ($message, $junk) = explode('
', $message, 2); list ($rnick, $rhost) = explode('!', $ex[0]); $rnick = str_replace(':', '', $rnick); // Reply to PING if($ex[0] == "PING"){ socket_write($socket, "PONG ".$ex[1]."\r\n"); } $mess = explode(' ', $message); if (str_replace('.ping', '', $mess[0]) != $mess[0]) { socket_write($socket, "PRIVMSG " . $chan . " :pong\r\n"); } if ($mess[0] == ".ping") { irc_send_privmsg("#Shadow", "pong"); } if ($ex[1] == PRIVMSG) { $result = "Nickname: " . $rnick . " Hostname: " . $rhost . " Message: " . $message; irc_send_privmsg("#Shadow", $result); } } } ?>