Dunque, sto creando un IRC bot con PHP usando i socket...sono riuscito a farlo joinare nel canale stabilmente, senza problemi di ping timeout, ma non riesco ancora a fargli riconoscere i messaggi che gli arrivano...come posso fare ?
vi posto il codice del bot:
codice:<?php //CONFIGURAZIONE $nick = '[TESTBOT2]'; $server = 'irc.oltreirc.net'; $chan = '#botphp'; $port = '6667'; $realname = 'lol'; //END CONFIG $ip = gethostbyname($server); $timeout = 60; // open a socket connection to the IRC server $fp = fsockopen($ip, $port, $errno, $errstr, $timeout); if (!$fp) { echo $errstr." (".$errno.") \n"; } else { // write data through the socket to join the channel fwrite($fp, "NICK ".$nick."\r\n"); fwrite($fp, "USER ".$nick." ".$server." bla :".$realname."\r\n"); fwrite($fp, "JOIN :".$chan."\r\n"); // write data through the socket to print text to the channel fwrite($fp, "PRIVMSG ".$chan." :Hello There!\r\n"); fwrite($fp, "PRIVMSG ".$chan." :I am a bot\r\n"); // loop through each line to look for ping while (!feof($fp)) { $line = fgets($fp, 128); echo nl2br($line); $line = explode(" ", $line); echo $line[0]."\n"; if ($line[0]=="PING") { fwrite($fp, "PONG ".$line[1]."\r\n"); } if ($line[0]=="!disconnect") { fwrite($fp, "PRIVMSG ".$chan." :ByeBye!\r\n"); fwrite($fp, "QUIT \r\n"); fclose($fp); } } fclose($fp); } ?>

Rispondi quotando