El Olimpo
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Como Hacer que un bot este 24 horas conctado?

2 participantes

Ir abajo

Como Hacer que un bot este 24 horas conctado? Empty Como Hacer que un bot este 24 horas conctado?

Mensaje  I_Love_Learning Sáb Mar 19, 2011 11:46 pm

hola, que tál?

Bueno es mi primera ves en este foro y quisiera saber... ¿Como puedo hacér que mi Bot este conctado las 24 horas? mmmm... me comentaron que tenia Que ser con php o algo de una Shell y pues me gustaria saber como y si me podrían enseñar..

Muchas Gracias por haberme invitado al foro (= y pues para que sepan por si me conocen... en el chat del server chatzona.org mi nick es _GaNJaMaN_ o [wA_]GaNJaMaN_

Saludos..

PD: ojala mi duda pueda Ser respondida.. y si me equivoque de seccion ojala lo muevan y me avisan, Suerte..

I_Love_Learning

Mensajes : 2
Fecha de inscripción : 19/03/2011

Volver arriba Ir abajo

Como Hacer que un bot este 24 horas conctado? Empty Bot 24 horas

Mensaje  HaT[eD] Dom Mar 20, 2011 4:36 pm

Hola Ganjaman,

Tu pregunta es muy frecuente. Si quieres dejar un bot conectado 24 horas, tienes dos opciones:

1.) Dejar tu pc conectado 24 horas al día. (Bot en mIRC Scripting)
2.) Programar el bot en C, PHP... Y conectarlo desde una shell.

Hay muchos bots por la red en estos lenguajes. Si tienes alguna duda respecto a estos bots te la resolveré.

Un saludo.
HaT[eD]
HaT[eD]
Admin
Admin

Mensajes : 66
Fecha de inscripción : 18/02/2011
Edad : 104
Localización : Aquí, en el foro

https://otro.forosactivos.net

Volver arriba Ir abajo

Como Hacer que un bot este 24 horas conctado? Empty Re: Como Hacer que un bot este 24 horas conctado?

Mensaje  I_Love_Learning Dom Mar 20, 2011 8:37 pm

Bueno la verdad quiero saber como se hace con php y conectar desde una shell ojala haya la posibilidad de que me enseñen ya que asi aprenderia algo nuevo... gracias por la respuesta hated

saludos

I_Love_Learning

Mensajes : 2
Fecha de inscripción : 19/03/2011

Volver arriba Ir abajo

Como Hacer que un bot este 24 horas conctado? Empty Re: Como Hacer que un bot este 24 horas conctado?

Mensaje  HaT[eD] Lun Mar 21, 2011 2:22 pm

Hola,

aquí te dejo un ejemplo de un bot IRC en PHP, deberás subirlo a tu Shell y una vez ahí ejecutarlo.

Cuando lo subas, escribe aquí los pasos que has dado para subirlo y ejecutarlo desde tu shell para el resto de usuarios que no sepan subir un script y ejecutarlo.

Código:
<?
// Datos del Bot
$nickname = "KesBot";
$powered = "Kesthers";
$nombre = "KesBot";
$version = "v1.0";

$ircserver[address] = "irc.quakenet.org";
$ircserver[port] = "6667";

$red = "quakenet";

$directorio[stats] = "/var/log/kesbot/quakenet/";

// Conexion a Base de Datos
mysql_connect("localhost", "xxxxx", "xxxxx"); mysql_select_db("xxxxx");

## Funciones de Logs & Stats ##
function WriteLogs($canal, $mensaje) {
    global $directorio;
    $fp = @fopen($directorio[stats].str_replace("#", "", str_replace(":", "", $canal)).".log", "a");
    fputs($fp, $mensaje."\r\n");
    fclose($fp);
}

// Conectamos
set_time_limit(0);
for($conn=0; 1<=2; $conn++) {
    echo"Conectando...\n";
    $conexion = fsockopen($ircserver[address], $ircserver[port]);
    socket_set_timeout($conexion, 31536000);
    if($conexion) {
        echo"Esperando respuesta...\n";
        $bucle=0; $conectado=0; $limit=0;
        set_time_limit(0);
        while ($read = fgets($conexion,512)) {
            set_time_limit(0);
            $read = str_replace("\n","",$read);
            $read = str_replace("\r","",$read);
            $array = explode(" ",$read);
            $address = explode("!",$array[0]);
            $nick = str_replace(":","",$address[0]);
            $quit = substr($read, strlen($array[0])+strlen($array[1])+3, 512);
            $modo = substr($read, strlen($array[0])+strlen($array[1])+strlen($array[2])+3, 512);
            $mensaje = substr($read, strlen($array[0])+strlen($array[1])+strlen($array[2])+4, 512);
            $kick = substr($read, strlen($array[0])+strlen($array[1])+strlen($array[2])+strlen($array[3])+5, 512);

            if ($conectado!==0) {
                switch ($array[1]) {
                    case PRIVMSG:
                    if($array[2]!==$nickname) {
                        if(substr($mensaje, 0, 7)=="ACTION") {
                            $count = strlen($mensaje)-9;
                            WriteLogs($array[2], "[".date("H:i")."] * ".$nick." ".substr($mensaje, 8, $count));
                        } else {
                            WriteLogs($array[2], "[".date("H:i")."] <".$nick."> ".$mensaje);
                        }
                    } else {
                        $orden = explode(" ", strtolower($mensaje));
                        switch ($orden[0]) {
                            case "ping":
                            fputs($conexion, "NOTICE ".$nick." :PING ".$orden[1]."\n");
                            break;
                           
                            case "version":
                            fputs($conexion, "NOTICE ".$nick." :VERSION ".$version."\n");
                            break;
                           
                            case "time":
                            fputs($conexion, "NOTICE ".$nick." :TIME ".date("D M d H:i:s Y")."\n");
                            break;
                           
                            case "finger":
                            fputs($conexion, "NOTICE ".$nick." :FINGER ".$nombre."\n");
                            break;

                            case admin:
                            if(mysql_num_rows(mysql_query("SELECT * FROM admins WHERE nick='".strtolower($nick)."'"))==1) {
                                $accion = substr($mensaje, 6, 512);
                                fputs($conexion, $accion."\n");
                                if($orden[1]=="nick") {
                                    $nuevo = explode(":", $orden[2]);
                                    $nickname = $nuevo[0];
                                }
                            } else {
                                fputs($conexion, "PRIVMSG ".$nick." :\002\0032No estas autorizado/da a usar este comando.\n");
                            }
                            break;

                            case info:
                            fputs($conexion, "PRIVMSG ".$nick." :\002\0032Bot de Logs & Stats [Creado por: ".$powered."]\n");
                            fputs($conexion, "PRIVMSG ".$nick." :\002\0032Website: http://www.kesthers.com\n");
                            fputs($conexion, "PRIVMSG ".$nick." :\002\0032E-Mail: [email]info@kesthers.com[/email]\n");
                            break;

                            case op:
                            if(mysql_num_rows(mysql_query("SELECT * FROM opers WHERE nick='".$orden[1]."' AND password='".$orden[2]."' AND red='".$red."' AND canal='".$orden[3]."'"))=="1") {
                                fputs($conexion, "MODE ".$orden[3]." +o ".$nick."\n");
                            } else {
                                fputs($conexion, "PRIVMSG ".$nick." :\002\0032No te puedo dar op porque los datos no son correctos\n");
                            }
                            break;
                        }
                    }
                    break;
                   
                    case NOTICE:
                    if($array[2]!==$nickname) {
                        WriteLogs($array[2], "[".date("H:i")."] *** ".$mensaje." (".$nick.")");
                    }
                    break;
                   
                    case NICK:
                    $query = mysql_query("SELECT * FROM online WHERE nick='".$nick."' AND red='".$red."'");
                    while($sql = mysql_fetch_array($query)) {
                        WriteLogs($sql[canal], "[".date("H:i")."] *** ".$nick." is now known as ".str_replace(":", "", $array[2]));
                    }
                    mysql_query("UPDATE online SET nick='".str_replace(":", "", $array[2])."' WHERE nick='".$nick."' AND red='".$red."'");
                    break;

                    case MODE:
                    if($array[2]!==$nickname) {
                        WriteLogs($array[2], "[".date("H:i")."] *** ".$nick." sets mode: ".$modo);
                    }
                    break;

                    case JOIN:
                    WriteLogs($array[2], "[".date("H:i")."] *** ".$nick." (".$address[1].") has joined ".str_replace(":", "", $array[2]));
                    mysql_query("INSERT INTO online (time, nick, canal, red) VALUES ('".time()."', '".$nick."', '".str_replace(":", "", $array[2])."', '".$red."');");
                    break;

                    case PART:
                    WriteLogs($array[2], "[".date("H:i")."] *** ".$nick." (".$address[1].") has left ".$array[2]);
                    mysql_query("DELETE FROM online WHERE nick='".$nick."' AND canal='".$array[2]."' AND red='".$red."'");
                    break;

                    case KICK:
                    if($array[3]==$nickname) {
                        fputs($conexion, "JOIN ".$array[2]."\n");
                    }
                    WriteLogs($array[2], "[".date("H:i")."] *** ".$array[3]." was kicked by ".$nick." (".$kick.")");
                    mysql_query("DELETE FROM online WHERE nick='".$array[3]."' AND canal='".$array[2]."' AND red='".$red."'");
                    break;

                    case QUIT:
                    $query = mysql_query("SELECT * FROM online WHERE nick='".$nick."' AND red='".$red."'");
                    while($sql = mysql_fetch_array($query)) {
                        WriteLogs($sql[canal], "[".date("H:i")."] *** ".$nick." (".$address[1].") Quit (".$quit.")");
                    }
                    mysql_query("DELETE FROM online WHERE nick='".$nick."' AND red='".$red."'");
                    break;

                    case TOPIC:
                    WriteLogs($array[2], "[".date("H:i")."] *** ".$nick." changes topic to '".$mensaje."'");
                    mysql_query("UPDATE canales SET topic='".$mensaje."' WHERE canal='".$array[2]."' AND red='".$red."'");
                    break;
                }
            }


            if ($bucle==0) {
                fputs($conexion, "NICK $nickname\n\n");
                fputs($conexion, "USER $nickname $powered $powered :$nombre $version\n\n");
                echo"Identificado.\n";
            }

            if ($array[0]=="PING") {
                fputs($conexion, "PONG ".str_replace(":","",$array[1])."\n");
            }

            if ($array[1]==251) {
                $query = mysql_query("SELECT * FROM canales WHERE red='".$red."'");
                while($sql = mysql_fetch_array($query)) {
                    $canales .= $sql[canal].",";
                }
                fputs($conexion, "JOIN ".$canales."\n\n");
                echo"Entrada en canales. ($canales)\n";
                $conectado++;
            }

            $bucle++;
        }
    } else {
        echo"Error al Conectar.\n";
    }
    echo"Desconectado.\n";
}
?>

Saludos.
HaT[eD]
HaT[eD]
Admin
Admin

Mensajes : 66
Fecha de inscripción : 18/02/2011
Edad : 104
Localización : Aquí, en el foro

https://otro.forosactivos.net

Volver arriba Ir abajo

Como Hacer que un bot este 24 horas conctado? Empty Re: Como Hacer que un bot este 24 horas conctado?

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.