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";
?>