All pastes #988805 Raw Edit

Untitled

public text v1 · immutable
#988805 ·published 2008-04-17 21:53 UTC
rendered paste body
<?php


class IRCConnection {


	function Connect($Server, $Port, $tmpNickname) {

		global $Connection, $ConnectionStatus, $Nickname;
	
		set_time_limit(0);
		$Connection			=	fsockopen($Server, $Port);


		$ConnectionStatus		=	1;

		$Nickname			=	$tmpNickname;

	}


	function Recieve() {

		global $Connection, $ConnectionStatus, $Nickname;

		$Message			=	fgets($Connection, 512);

		if (preg_match('/PING :/', $Message)) {


			$PingPong = str_replace('PING', 'PONG', $Message);

			fputs($Connection, $PingPong."\n\r");
		}

		if ($ConnectionStatus == 1) {


			fputs($Connection, "USER " . $Nickname . " localhost localhost :Daves Bot\n\r");
			$this->SetNickname($Nickname);

			/* Update Connection status. */
			$ConnectionStatus	=	2;
		}
	

		return $Message;

	}



	function JoinChannel($Channel) {

		global $Connection, $ConnectionStatus;


		fputs($Connection, "JOIN ".$Channel."\n\r");

		$ConnectionStatus		=	4;

	}

	

	function SetNickname($Nickname) {
		global $Connection, $ConnectionStatus;

		/* Send nickname packet. */
		fputs($Connection, "NICK " . $Nickname ."\n\r");

	}



	function SendPrivMessage($To, $Message) {
		global $Connection, $ConnectionStatus;

		fputs($Connection, "PRIVMSG " . $To . " :" . $Message ."\n\r");

	}


	function SendChannelMessage($Channel, $Massage) {
		global $Connection, $ConnectionStatus;

		fputs($Connection, "PRIVMSG " . $Channel . " " . $Massage . "\n\r");

	}


}


	$JoinedChannel				=	0;
	$NickName				=	"elleeett";
	$Server					=	"efnet.demon.co.uk";
	$Port					=	"6667";
	$Channel				=	"#eztvtest";
	$FloodVar				=	"hai $Channel";



	$IRC = &New IRCConnection;

	$IRC->Connect($Server, $Port, $NickName);
	echo "[i] Client connected\n";	

	while ($Message = $IRC->Recieve()) {
		
		if (!$JoinedChannel) {
			$IRC->JoinChannel($Channel);
			$JoinedChannel		=	1;
			echo "[i] Joined Channel\n";

		while ($JoinedChannel == 1) {
		$IRC->SendChannelMessage($Channel, $FloodVar);
		echo "[i] Message sent to channel\n";
		sleep(2);
	
		}
	break;
	}
	}
	echo "[i] Client exited.\n";
?>