Advertisement
HimitsuNoChikara

TheDeadLike - PHP IRC Connection using sockets

Nov 21st, 2012
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.14 KB | None | 0 0
  1. <?php header("Content-Type:text/html;charset=utf-8"); set_time_limit(0); ?>
  2. <?php
  3.     $socket = fsockopen("irc.euirc.net", 6667, $errNo, $errStr);
  4.     if($socket):
  5.         fwrite($socket, "NICK Tester-Guy\n\r");
  6.         fwrite($socket, "USER TesterGuy 8 * :Testing connection!\n\r");
  7.        
  8.         readStream($socket);
  9.     endif;
  10.  
  11.     function readStream($socket){
  12.         while(!feof($socket)):
  13.             $serverMsg = fgets($socket);
  14.             echo nl2br($serverMsg);
  15.             flush();
  16.             if(substr($serverMsg, 0, 6) == "PING :"):
  17.                 //reply PING requests with PONG
  18.                 fwrite($socket, "PONG :".substr($serverMsg, 6)."\n\r");
  19.             elseif(strpos($serverMsg, "005")):
  20.                 //Send join before MOTD
  21.                 fwrite($socket, "JOIN #testingChannel\n");
  22.             elseif(preg_match("/:(.*)!(.*)@(.*) (.*) (.*) :!(.*?) (.*)/",
  23.             $serverMsg, $match)):
  24.                 //Match !command in query/channel
  25.                 /*
  26.                 **[1] = Sender Nickname
  27.                 **[2] = Sender Ident
  28.                 **[3] = Sender Host
  29.                 **[4] = Message Type
  30.                 **[5] = Target
  31.                 **[6] = Command
  32.                 **[7] = Command Param
  33.                 */
  34.                 if($match[6] == "quit"):
  35.                     fwrite($socket, strtoupper($match[6])." :".$match[7]."\n\r");
  36.                 endif;
  37.             endif;
  38.         endwhile;
  39.     }
  40. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement