All pastes #963787 Raw Edit

Something

public text v1 · immutable
#963787 ·published 2008-03-30 20:24 UTC
rendered paste body
<?

class main {
	public $connections = 0;
	public $bots;
	public $bot;


        function addbot($localhost, $remotehost, $port, $nick, $user, $real) {
                echo "New connection: " . $nick . " at connection ID #" . $this->connections . "\r\n";

		$this->bots[$this->connections] = array( $localhost, $remotehost, $port, $nick, $user, $real );
		echo "This bot is " . $this->bots[$this->connections][4] . "\r\n";
		$this->connections += 1;

                return 1;
        }

	function connect() {

		for ($x = 0; $x < $this->connections; $x++) {
			$this->bot[$x] = new connection;
			$this->bot[$x]->newc(0, $this->bots[$x][0], $this->bots[$x][1], $this->bots[$x][2], $this->bots[$x][3], $this->bots[$x][4], $this->bots[$x][5]);
			$this->bot[$x]->readdata();
		}

		while (1) {
			for ($x = 0; $x < $this->connections; $x++) {
				$this->bot[$x]->readdata();
			}
		}

	}

}

class connection {
	public $socket;

	function newc($id, $localhost, $remotehost, $port, $nick, $user, $real) {
		$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
		socket_bind($this->socket, $localhost);
		socket_connect($this->socket, $remotehost, $port);

		socket_set_nonblock($this->socket);

		socket_write($this->socket, "USER " . $real . " " . $localhost . " " . $real . " " . $real . "\r\n");
		socket_write($this->socket, "NICK " . $nick . "\r\n");

		socket_write($this->socket, "JOIN #annihilation,#rena\r\n");

		$this->readdata;
	}

	function readdata() {
		if ($rdata = trim(socket_read($this->socket, 128))) {
			echo $rdata . "\r\n";
			flush();

			$ex = explode(" ", $rdata, 4);

			if($ex[0] == "PING"){
				socket_write($socket, "PONG " . $ex[1] . "\r\n");
			}

			if ($rdata = ":Rena!h@s.six.ears PRIVMSG #Annihilation :ping") {
				socket_write($this->socket, "PRIVMSG #annihilation :pong");
			}
		}
	}

}

$IRC = new main;

$IRC->addbot('loli.catl.in', 'irc.swiftirc.net', 6667, '[1]Catlin', 'Catlin', 'Catlin');
$IRC->addbot('loli.catl.in', 'irc.swiftirc.net', 6667, '[2]Catlin', 'Catlin', 'Catlin');

$IRC->connect();

?>