Exemple à la con de socket
#!/usr/bin/php -q <?php set_time_limit(0); $socket = fsockopen( "167.145.12.147", "6669" , $errno, $errstr, 1); stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT); fputs($socket , "USER gloubi gloubi boulga\r\n"); fputs($socket , "NICK gloubi\r\n" ); ?>
La même chose un peu plus utilisable/propre
#!/usr/bin/php -q <?php set_time_limit(0); // pas de fin error_reporting(0); // pas de report d'erreurs de base. setlocale(LC_ALL, 'fr_FR.UTF8'); // le bon charset /* ┌───────────────────────────────────────────────────────────────────────┐ │ Variables │ └───────────────────────────────────────────────────────────────────────┘ */ $debbug = 2; // Debbug - 0 : rien | 1 : light | 2 : middle | 3 : full $server = array('server' => '******', // l'adresse ip du server 'port' => '******', // le port de connexion SSL 'nickname' => '******', // le pseudo 'username' => '******', // l'username 'realname' => '******', // le realname ); if($debbug >= 2) error_reporting(E_ALL); /* ┌───────────────────────────────────────────────────────────────────────┐ │ Socket │ └───────────────────────────────────────────────────────────────────────┘ */ if($debbug >= 1) { echo "┌──────────────────────────────────────────────────────────────────┐\n"; echo "│ Demarrage du Bot │\n"; echo "└──────────────────────────────────────────────────────────────────┘\n"; } $socket = fsockopen( $server['server'] , $server['port'] , $errno, $errstr, 1); // Connexion au serveur. stream_socket_enable_crypto($socket, true, STREAM_CRYPTO_METHOD_SSLv23_CLIENT); // en SSL if (!$socket) { if($debbug >= 1) { echo "[ \033[0;31m!!\033[0m ] Erreur de connection.\n"; } exit(); } else { if($debbug >= 1) { echo "[ \033[0;32mok\033[0m ] Connection en cours.\n"; } } fputs($socket , "USER " . $server['nickname'] . " " . $server['nickname'] . " " . $server['username'] . "\r\n"); fputs($socket , "NICK " . $server['nickname'] . "\r\n" ); stream_set_timeout($socket, 0); $continuer = 1; /* ┌───────────────────────────────────────────────────────────────────────┐ │ Entree routine │ └───────────────────────────────────────────────────────────────────────┘ */ if($debbug >= 2) { echo "[ \033[0;32mok\033[0m ] Entree routine.\n"; } while($continuer) { // Boucle pour la connexion. $donnees = fgets($socket, 1024); $retour = explode(':',$donnees); if(rtrim($retour[0]) == 'PING') { fputs($socket,'PONG :'.$retour[1]); } // on réponds aux PING if($donnees) { /* * Et là on fait ce qu'on veut à partir des données $donnees qu'on reçoit. */ } usleep(100); } ?>
Fichier : wiki › php › IRC - dernière modification le 10/10/2016 à 04:32 par Trollab