Foros del Web » Programando para Internet » PHP »

Gente conectada al irc con php?

Estas en el tema de Gente conectada al irc con php? en el foro de PHP en Foros del Web. Hoal he visto , recuerdo en algunos foros que donde decia la gente conectada al foro tambien decia la gente conectada al canal irc de ...
  #1 (permalink)  
Antiguo 27/03/2008, 11:22
Avatar de EmaD  
Fecha de Ingreso: marzo-2008
Mensajes: 93
Antigüedad: 16 años, 1 mes
Puntos: 2
Gente conectada al irc con php?

Hoal he visto , recuerdo en algunos foros que donde decia la gente conectada al foro tambien decia la gente conectada al canal irc de la web , la pregunat es como seria para hacer eso con php?

Con un bot? whois , o como en realidad el como?

Salu2
  #2 (permalink)  
Antiguo 27/03/2008, 12:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Gente conectada al irc con php?

Hola EmaD,

De seguro deben de usar sockets para conectarse vía remota al canal y averiguar el numero de personas conectadas (usando el protocolo IRC).

Saludos.
  #3 (permalink)  
Antiguo 27/03/2008, 12:07
Avatar de EmaD  
Fecha de Ingreso: marzo-2008
Mensajes: 93
Antigüedad: 16 años, 1 mes
Puntos: 2
Re: Gente conectada al irc con php?

Si gator lo se , consegui esto , en realidad no se como seria para sacar el numero de usuarios. le sdejo el codigo , es solo un bot para conectar , no realiza ninguna accion si a alguien se le socurre algo , avise , yo mientras busco y pienso .

Código PHP:
<?php

// Configuramos el script.
$conexion fsockopen("servidor.com"6667);
$bnick="PHPHispanoTuT";
$autojoin=""// Si son varios canales puedes poner Canal1,Canal2 :)

// Me identifico.
fputs($conexion"USER ".$bnick." - - :-\n");
fputs($conexion"NICK ".$bnick." -\r\n");

// Aremos un loop infinito mientras este conectado al servidor.
while (!feof($conexion)) {
    
// Resiviremos los mensajes del servidor.
    
$bmsg str_replace("\n"""str_replace("\r"""fgets ($conexion,2048)));
    
$partmsg explode(" ",$bmsg);

    
// quita los // del siguiente commando si quieres saber un debug en la consola.
    // echo $bmsg;
    
    // Con este code de abajo sacamos el nick de quien nos envia el msg.
    
$n =  explode("!",$partmsg[0]);
    
$nick str_replace(":","",$n[0]);

    
// Al enviarnos el PING responderemos con PONG.. (Dudas, aprende protocolo IRC)
    
if ($partmsg[0] == 'PING') {
        
fputs($conexion,'PONG '.str_replace(':','',$partmsg[1])."\n");
        
// Si el el primer ping entraremos a los canales. (Este ping lo hace cuando se conecto.)
        
if(!$bconnect) {
            
// El script no se acabara nunca omenos que se caiga.
            
set_time_limit(0);
            
fputs($conexion,"JOIN ".$autojoin."\n");
            
$bconnect=1;
        }
    }
}

// Al no estar conectado al servidor ejecutara este commando que desconectara el socket y terminara el script.
fclose($conexion); exit();

?>

Este bot no tiene ninguna funcion... Solo conecta y se mantiene conectado.
Para iniciar el bot tendras que poner en la consola php ircbot.php (Shell Unix RECOMENDADA)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:03.