rendered paste body<?php
// Configuration and settings
// Connection
$vhost = "89.46.37.183"; // Address to bind to
$server = "irc.deltaanime.net"; // Server hostname or IP to connect to
$port = 6667; // port to connect to
// Client
$nick = "Catlin"; // Nickname to register with
$name = "Rena"; // Realname to register with
$chan = "#shadow"; // Channel to join on connect
// Declare functions
function irc_send_privmsg($rec, $args) {
global $socket;
socket_write($socket, "PRIVMSG " . $rec . " :" . $args . "\r\n");
echo "-> 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 ($rnick, $rhost) = explode('!', $ex[0]);
$rnick = str_replace(':', '', $rnick);
// Reply to PING
if($ex[0] == "PING"){
socket_write($socket, "PONG ".$ex[1]."\r\n");
}
if ($message == ".ping") {
socket_write($socket, "PRIVMSG " . $chan . " :pong\r\n");
}
if ($ex[1] == PRIVMSG) {
$result = "Nickname: " . $rnick . " Hostname: " . $rhost . " Message: " . $message;
irc_send_privmsg("#Shadow", $result);
}
}
}
?>