Récupérer le nombre d'utilisateur sur un channel irc

Contenu du snippet

Ce code permet de récupéré le nombre d'utilisateur présent sur votre channel IRC très simplement
Ensuite pour l'inséré dans votre page web:
Il y a <script src="http://www.tonsite.com/tonrep/lescript.php"></script> utilisateur sur le Chat en ce moment.. !!

Source / Exemple :


<?php
$strServeur = "irc.rezium.net"; // serveur IRC
$intPort = 6667; // port..
$strNick = uniqid(asp); // on génère un sn aléatoire
$strChannel = "#titaxium"; // votre channel IRC

$Sock = @fsockopen($strServeur, $intPort); // ouverture socket sur le serveur IRC

fputs($Sock, "user Aspect UNIX aspect@rezium.net: robot\n"); // infos utilisateur
fputs($Sock, "nick $strNick\n"); // envoie de notre sn

fputs($Sock, "list $strChannel\n"); // on exécute la cmd LIST

while($strLigne = fgets($Sock, 1024)){ // on récupère les donné
	if(strstr($strLigne, "322")){ // on détecte si c'est la réponse à notre cmd LIST
		$strDonne = $strLigne; // si oui on la stock
		break; // et on quit la boucle
	}
}

/* on décortique le nombre d'utilisateur */
$aArray = explode(":", $strDonne);
$strDonne = $aArray[1];
$aArray1 = explode("322", $strDonne);
$strDonne = $aArray1[1];

$strDonne = str_replace($strNick, "", $strDonne);
$strDonne = str_replace($strChannel, "", $strDonne);
$strDonne = str_replace(" ", "", $strDonne);

/* et on affiche */
print "document.write(\"".$strDonne."\");";

/* on déconnecte d'IRC avec la cmd QUIT */
fputs($Sock, "QUIT\n");
/* fermeture sock */
fclose($Sock);
?>

Conclusion :


Le mieux est encore d'avoir un service tel thales sur l'ircd du réseau !! m'enfin ...

Voilà, a+

Aspect
ReZiuM.Net - La plateforme de communication, gratuite !
IRC.ReZiuM.Net

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.