elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
25 Mayo 2012, 23:52  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Comunicaciones
| |-+  Chats; IRC y Messengers
| | |-+  [Bots IRC en Perl]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Bots IRC en Perl]  (Leído 1,931 veces)
AlexGPL

Desconectado Desconectado

Mensajes: 103



Ver Perfil
[Bots IRC en Perl]
« en: 22 Diciembre 2007, 21:41 »

Alguien tiene codes de bots irc en perl?

Es que no encuentro casi.

Muchas gracias.


En línea
Hash_

Desconectado Desconectado

Mensajes: 17



Ver Perfil
Re: [Bots IRC en Perl]
« Respuesta #1 en: 23 Diciembre 2007, 22:10 »

Código:
#!/usr/bin/perl
# Codeado por Firos - Staff http://foro.elhacker.net
#####DATOS#####
$servidor = "irc.irc-domain.org";
$puerto = "6667";
$nick = "sn00py";
$admin = "firos";
$sn00py = "sn00py";
$canales = ":#ziberzone:#wa";
$conectado = 0;
$comandos = "Los comandos actualmente disponibles son: !kick, !ban, !unban, !voice, !devoice, !quit, !part, !join, !commands, !op, !deop. Para poder utilizarlos has de tener privilegios sobre el bot.";
###############

use IO::Socket;

$socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$servidor", PeerPort => "$puerto") || print "Imposible conectar.\n";

&IRCSend ("NICK $sn00py");
&IRCSend ("USER la madre que lotrajo");

while($conexion=<$socket>)
{
print $conexion;

if ($conexion=~/PING :/)
{
        &IRCSend ("PONG $'");
        $conectado = 1;
}

if ($conectado == 1)
{
        ######### Entrar a canales #########
        if ($conexion=~/001/)
        {
                @canaless = split(/:/ , $canales);
                for($i=0;$i<@canaless;$i++)
                {
                &JOIN("$canaless[$i]");
                }
        }

        ######### Aqui empieza la identificacion/ejecución de comandos ###########
        if ($conexion =~ /^\:(\S*)!(\S*)@(\S*)\s(\S*)\s(\S*)\s:(\S*)\s(.*)/)
        {
                $quien = $1; $comandoserv = $4; $donde = $5; $comando = $6; $patron = $7;

                ######### Comandos de canal ########
                if ($quien eq $admin)
                {
                        if ($comando eq "!commands") { PRIVMSG("$donde" , $comandos); }
                        elsif ($comando eq "!op") { &IRCSend("MODE $donde +o $patron"); }
                        elsif ($comando eq "!deop") { &IRCSend("MODE $donde -o $patron"); }
                        elsif ($comando eq "!join") { &IRCSend("JOIN :$patron"); }
                        elsif ($comando eq "!quit") { &IRCSend("QUIT :$patron"); }
                        elsif ($comando eq "!kick") { &IRCSend("KICK $donde :$patron"); }
                        elsif ($comando eq "!ban") { &IRCSend("MODE $donde +b :$patron"); }
                        elsif ($comando eq "!unban") { &IRCSend("MODE $donde -b :$patron"); }
                        elsif ($comando eq "!voice") { &IRCSend("MODE $donde +v :$patron"); }
                        elsif ($comando eq "!devoice") { &IRCSend("MODE $donde -v :$patron"); }
                        elsif ($comando eq "!part") { &IRCSend("PART $donde :$patron"); }
                }

        }

        ######## Lectura/ejecución por query #########
        if ($conexion =~ /^\:(\S*)!(\S*)@(\S*)\sPRIVMSG\s$sn00py\s\:(\S*)\s(\S*)\s(.*)/)
        {
        $quien = $1; $comando = $4; $canal = $5; $patron = $6;

                if ($admin eq $quien)
                {
                        if ($comando eq "!MSG") {IRCSend("PRIVMSG $canal :$patron"); }
                }

        }

        ######## Rejoin #########
        if ($conexion =~ /^\:(\S*)!(\S*)@(\S*)\s(\S*)\s(\S*)\s(\S*)\s:(.*)/)
        {
                $quien = $1; $comandserv = $4; $donde = $5; $aquien = $6;
                if ($comandserv eq "KICK") { &JOIN ("$donde"); }
        }
}


[b]

http://foro.elhacker.net/index.php/topic,79954.0.html[/b]
        ######## Random NICK #########
        if ($conexion=~/^\:(\S*)\s433\s(.*)\s$sn00py(.*)/)
        {
                $sn00py .= int(rand(999));
                &IRCSend ("NICK :$sn00py");
        }

}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines