[Socket] bot irc

Ho sto smanettando un pò con le socket e mi è venuto in mente di realizzare uno script che potessi utilizzare come boot per IRC quando sono conesso.

Allora mi sono messo a scriptare e sono riuscito dopo svariati tentaivi a far connettere finalmente il boot, anche se c'è un piccolo problema ... appena di conette al chan che gli passo lui si disconette automaticamente  :2funny:

Questo è lo script di connesione;

<?
   # Configurazione
   $server = "irc.eu.azzurra.org";
   $porta = "6667";
   $nick = "BOT_Prova";
   $chan = "#rpg2s";
   $pwd = "lol"; # Per quando servirà

   $socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
   $connection = socket_connect($socket,$server,$porta);
   socket_write($socket,"USER $nick $nick $nick :$nick \r\n");
   socket_write($socket,"NICK $nick \r\n");
   # socket_write($socket,"PRIVMSG nickserv identify $botpass \r\n");
   socket_write($socket,"JOIN $chan \r\n");
   
   echo "<font size='1'>Conesso a <font color='#00FF00'>$chan</font></font>";
?>

Help me! ;__;

inviato 9 anni fa
DaD
DaD
1
X 0 X

forse si disconnette peché lo script termina...

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

probabile dato che un server irc x verificare che un client sia online ha uno scambio di ping/pong con lo stesso.

risposto 9 anni fa
LonelyWolf
X 0 X
forse si disconnette peché lo script termina...

Si ... però per far rimanere la connesione alla rete irc non posso mica creare un ciclo con i dati per la connesione del bot, sarei bannato dopo due secondi da azzurra.

Dato il fatto che per attivare lo script devo passare via browser e il trasferimento dei pachetti tramite socket non avviene come negli altri linguaggi tipo il C ho trovato un modo per mantenere la connesione attiva, grazie a questa classe keep-alive-connections adesso vedo se riesco a farci qualcosa e poi vedo se funziona.

risposto 9 anni fa
DaD
DaD
1
X 0 X

quella classe non ti manterrà la connessione aperta perché non si preoccupa di mantenere lo script attivo...

 :dunno:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda