• Publicidad

[IRC]Bot que responda

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Re: [IRC]Bot que responda

Notapor explorer » 2010-03-11 13:22 @598

Bienvenido a los foros de Perl en Español, DaNnY.

La idea es buena... pero robots para IRC ya hay unos cuantos... de hecho, creo que los propios servidores de IRC ya traen bots para este tipo de administración.

Un ejemplo de bot: Eggdrop.

Eso sí... hacerlo uno mismo es siempre bueno, ya que aprendes mucho de IRC y algo de programación... :)

Puedes probar a publicar tu código, en aquellas áreas en la que te atasques, para que podamos echarte una mano.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: [IRC]Bot que responda

Notapor DaNnY » 2010-03-12 21:58 @957

Gracias por la bienvenida al foro, la verdad es que ando un poco perdido...

Me sería de gran ayuda si me pudierais indicar con qué módulos tendría de empezar, y dónde podría mirar algún tutorial un tanto informativo, para poder empezar desde 0.

La verdad es que el eggdrop está bien pero prefiero hacerlo yo, como bien has dicho tu antes aprendes más.

Todos los bots que tenemos en mi red son hechos por el devel que tenemos y yo estoy intentando aprender un poco de Perl para poder ayudarle.

Como comenté anteriormente ahora mismo estamos comenzando a tener bastante visitas, y necesitaría que el bot pudiera soportar varias salas.

Todos los comandos se ejecutarían en un debug o por privado.
Además a los canales que podría entrar el BOT sería a través de la siguiente sintaxis: /msg CHaN LIST * OFICIAL, es decir: solo podría entrar a las salas que estuvieran en esta lista...
Sé que es un poco complicado de hacer cuando el nivel es nulo, pero ganas de aprender no me faltan.

P.D Utilizo Windows XP profesional.
¿Eso sería un problema?

Gracias de antemano.
Última edición por explorer el 2010-03-13 07:32 @355, editado 1 vez en total
Razón: Ortografía
DaNnY
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-03-11 12:44 @572

Re: [IRC]Bot que responda

Notapor explorer » 2010-03-13 08:10 @382

Aprender a programar robots en Perl para IRC necesita de los pasos siguientes:
* saber qué es y cómo funciona el protocolo IRC. En una tarde te lo aprendes
* saber lenguaje Perl, al menos su sintaxis básica. Con unos días de dedicación, te lo sabes
* saber qué es un módulo Perl. Cómo se instala, cómo se usa. Un par de tardes
* saber programar. Esto es lo más fácil y lo más difícil. Es fácil empezar a decirle al ordenador que haga cosas. Es muy difícil decírselo con exactitud, elegancia y, muy importante, de forma clara, tanto para el ordenador como para otra persona. Años.

No conozco manuales específicos para programar IRC, pero se lo preguntaría a Google.

Para Perl, tienes aquí, en este sitio web, algunos tutoriales, y algunos hilos donde hemos dado las claves para comenzar con el lenguaje, o recursos en Español repartidos por la red.

Se puede decir que podrás empezar a hacer el primer bot cuando entiendas los códigos que aparecen al principio de este hilo de discusión, aunque si miras el primer código de la segunda página, en el que uso el módulo Bot::BasicBot, verás que el código es más corto, y quizás, sencillo de entender.

En cuanto a lo de Windows, lo siento, pero hace muchos años que ya no lo uso.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: [IRC]Bot que responda

Notapor DaNnY » 2010-03-14 10:58 @498

Buenas, he avanzado un poco... pero me quedo atascado con los comandos por privado, no sé por dónde tirar, estuve modificando y mirándome el posteo del bot que pusiste tu Administrador lo único que no sé cómo ejecutar los comandos por privado y restringir los comandos a ciertos privilegios.
DaNnY
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-03-11 12:44 @572

Re: [IRC]Bot que responda

Notapor explorer » 2010-03-14 11:06 @504

Sin ver el código, es difícil saber qué pasa...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: [IRC]Bot que responda

Notapor DaNnY » 2010-03-14 16:56 @747

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. # (mismo código que el publicado por kt0sh el día 2009-12-13 10:16 @470
  2.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
DaNnY
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-03-11 12:44 @572

Re: [IRC]Bot que responda

Notapor explorer » 2010-03-14 19:08 @839

Has publicado el mismo código que aparece en un mensaje anterior, en este mismo hilo (incluso en esta misma página). Sería más cómodo indicarlo, en lugar de copiarlo de nuevo.

Te indico que el código creo (no lo he probado) que está mal, pues en la línea 47 intenta entrar en el canal. Como esa línea está dentro de un bucle que empieza en la 34, con lo que el bot está constantemente registrándose en el canal.

En cuanto a la forma de que el bot responda a comandos, desde determinadas personas, fíjate cómo en la línea 51 se separan los componentes de la línea recibida desde el servidor IRC. De ahí sabemos el $usuario, y el $comando que ha escrito. Solo tenemos que hacer una comprobación, parecida a esta, para responderle:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
if ($usuario eq 'Administrador') {
    if ($comando eq '!list') {
        # devolver la lista de usuarios al Administrador
    }
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4

que como ves es parecida a las líneas 63 a 65 o la mayor parte de las líneas que hay en mi bot, unos mensajes más arriba, del día 2009-12-13 01:35 @107.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: [IRC]Bot que responda

Notapor DaNnY » 2010-03-27 15:00 @666

Después de unos cuantos días, pude avanzar un poco el código aunque hay que depurarlo un poco.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. ###################################################
  3. # PROGRAMA: Administrador BOT.v.0.1               #
  4. # AUTOR: DaNnY                                    #
  5. # GRACIAS A:  [[Ktosh]] Yoyahack, seth y S[e]C    #
  6. # El bot original es obra de [[ktosh]]            #
  7. # Este bot es una adaptacion de su codigo         #
  8. # espero que no le imporque que lo alla utilizado #
  9. ###################################################
  10.  
  11.  
  12. #---------------------------------Modulos del Bot--------------------------------------#
  13. use IO::Socket;
  14.  
  15. #---------------------------------Datos principales------------------------------------#
  16.  
  17. $server   = 'deneb.gentechat.org';
  18. $port     = '6667';
  19. $canal    = '#pruebas';
  20. $debug    = '#c.debug';
  21. #%usuario = "";@topic = "Bienvenido/a a $canal Porfavor plantee su duda por privado a $nick $+ . Si este no se encuentra disponible Acuda a un (@) de la Sala, Gracias.";
  22.  
  23.  
  24.  
  25. #--------------------------------Datos Del Bot------------------------------------------#
  26. $nick = 'Administrador';
  27. $bot  = 'Administrador';
  28. $pass = 'zipbreake';
  29. $admin  = 'zipbreake';
  30. $root = 'DaNnY';
  31. chomp $admin;
  32. chomp $root;
  33. ;
  34. #-------------------------------------Respuesta de Comandos----------------------------------#
  35. while($responde = <$comandos>)
  36. {
  37. print $responde;
  38. #join $canal
  39.      if($responde =~ m/:(.*) 00(.*) (.*) :/)
  40.      {
  41.           print $responde "JOIN $canal \r\n";
  42.          }
  43. if($responde =~ m/:!ayuda/)
  44.          {
  45.          print $responde &envia" $usuario :1 5-= Información General =-  \r\n";
  46.          print $responde &envia" $usuario :1 3Administrador - 7IRC-GenteChat  \r\n";
  47.          print $responde &envia" $usuario :1 3Administrador Permite controlar varios aspectos de las salas Oficiales.  \r\n";
  48.          print $responde &envia" $usuario :1 Su principal función es la de moderar las salas oficiales, administrar modos automaticamente  \r\n";
  49.          print $responde &envia" $usuario :1 e informar a los OPERadores de un posible ataque de clones en la sala. : \r\n";
  50.          print $responde &envia" $usuario : \r\n";
  51.          print $responde &envia" $usuario :1 Los comandos disponibles son los siguientes: \r\n";
  52.          print $responde &envia" $usuario :1
  53. Para utilizar el BOT de 3Administrador escriba 12/msg Administrador <comando>. \r\n";
  54.          print $responde &envia" $usuario :1 Para obtener más información de un comando específico escriba: 12/msg Administrador AYUDA <comando> \r\n";
  55.          print $responde &envia" $usuario : \r\n";
  56.          print $responde &envia" $usuario :1 - 12 Comandos Basicos: \r\n";
  57.          print $responde &envia" $usuario : \r\n";
  58.          print $responde &envia" $usuario :12IDENTIFY Te identifica como OPERador de la sala. \r\n";
  59.          print $responde &envia" $usuario :12LEVELS Modificas los niveles de ACCESo al BOT. \r\n";
  60.          print $responde &envia" $usuario : \r\n";
  61.          print $responde &envia" $usuario : - Acceso y configuración al canal: \r\n";
  62.          print $responde &envia" $usuario :12JOIN Entra en una Sala sin guardarla en la Base de datos \r\n";
  63.          print $responde &envia" $usuario :12PART Sale de una sala \r\n";
  64.          print $responde &envia" $usuario :1JOINALL Entra en todas las salas guardadas en la Base de datos \r\n";
  65.          print $responde &envia" $usuario :1PARTALL Sale de todas las salas \r\n";
  66.          print $responde &envia" $usuario :12NORMAS Muestra las normas de la sala en su sala. \r\n";
  67.          print $responde &envia" $usuario :12BOTS   Información sobre los BOTS. \r\n";
  68.          print $responde &envia" $usuario :12MoDOS  Muestra los modos disponibles a usar atraves del BOT. \r\n";
  69.          print $responde &envia" $usuario :12CONTACTO Te muestra como ponerse en contacto con la Administración del BOT. \r\n";
  70.          print $responde &envia" $usuario :  \r\n";
  71.          print $responde &envia" $usuario :12OP 1Te da 1(4@1) en la sala especificada \r\n";
  72. }        
  73.  
  74. $saludo    = "hola $usuario comando SALUDO ejecutado correctamente ^^ OLE YO <img src="http://perlenespanol.com/foro/images/smilies/icon_biggrin.gif" alt=":D" title="Very Happy" />";
  75. #-------------------------------------Conexión de IO::Socket;-------------------------------#
  76.  
  77. my $sock = IO::Socket::INET ->new(
  78.                      PeerAddr => "$server",
  79.                      PeerPort => "$port",
  80.                      Proto    => 'tcp' ) || die "No hay conección porfavor intentelo en otro servidor.\n";
  81. if (!$sock) {
  82. print "\nLo siento $root No puedo conectar en  $servidor $port\n";
  83. exit 1;
  84. }
  85.  
  86. while(<$sock>){
  87.     my $datos = $_;                      
  88.     print $datos;    
  89.    
  90.                    
  91.     if ($datos =~ /NOTICE AUTH/i)        
  92.     {      
  93.         &envia("NICK ".$nick."!".$pass." \n");            
  94.         &envia("USER $bot x x x x\n");    
  95.     }
  96.  print $sock "NICK $nick \n";
  97.  
  98.  
  99.     if ($datos =~ /^PING :/i)
  100.     {
  101.         &envia("PONG  : $'");
  102.     }
  103.     &envia("join $canal");
  104.     &envia("join $debug");
  105.  
  106. #-------------------------------------Creamos las Funciones---------------------------------#
  107. #:$root!
  108.     if ($datos =~ /^\:(\S*)!(\S*)@(\S*)\s(\S*)\s(\S*)\s:(\S*)\s(.*)/)
  109.     {
  110. #-------------------------------------Valores de Variables-----------------------------------#
  111.  
  112.         $usuario = $1;
  113.         chomp $usuario;
  114.         $tipo    = $4;
  115.         $donde   = $5;
  116.         $comando = $6;
  117.         $text    = $7;
  118.                
  119. #-------------------------------------Lector De Canal----------------------------------------#
  120.         if($comando eq "help") {&msg("$usuario", $comandos);}
  121.         if($comando eq "ayuda") {&msg("$usuario", $comandos); }
  122.         if($comando eq "saluda")   {&msg("#pruebas", $saludo);  }
  123.         if($comando eq "hex")  {&msg("#pruebas", $hex); }
  124.         if($comando eq "op") {&msg("$active", "CHaN OP $canal $usuario"); }
  125.        
  126.        
  127.                
  128.     }
  129. }
  130.  
  131. #-------------------------------------Funciones----------------------------------------------#
  132. sub envia {print $sock "$_[0]\n"; }
  133. sub msg {envia("PRIVMSG $_[0] :$_[1]"); }
  134. #-----------------------------------------------------------------------
  135.  
Coloreado en 0.007 segundos, usando GeSHi 1.0.8.4
DaNnY
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-03-11 12:44 @572

Re: [IRC]Bot que responda

Notapor DaNnY » 2010-04-21 15:40 @694

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. use IO::Socket;
  3. require "bot.conf";
  4. ####################################### COMANDOS IMPLEMENTADOS #############################
  5. $priv_cmds  = \%comandos;
  6. $priv_cmds -> {"HELP"} = "do_help";
  7.  
  8. $chan_cmds  = \%chancmds;
  9. $chan_cmds -> {"!HELP"} = "do_chanhelp";
  10. ####################################### FIN ################################################
  11. #######################    RUTINAS GENERALES (conexión....)  #
  12. #######################
  13. $socket = IO::Socket::INET->new(Proto => "tcp",
  14.                                 PeerAddr => $servidor,
  15.                                 PeerPort => $puerto);
  16. $socket -> autoflush(1);
  17. print "Bot Conectado\n";
  18. if (fork()) { exit;
  19.  }
  20. $entrabot = 0;
  21. while (($linea = <$socket>)) {
  22. #print $linea;
  23. if ($entrabot == 0) {
  24. sendcmd("NICK $botnick:$botclave\n");
  25.         sendcmd("USER $botident - - :$botinfo\n");
  26.                 $entrabot++;
  27.         }
  28. while (<$socket>) { @space = split("",$_);
  29. @dots = split(":",$_);
  30. @chanel = split(" ",$dots[2]);
  31. @u = split("!",$_);
  32. @nicks = split(":",$u[0]);
  33. @raw_num = split(" ",$_);
  34. @puntos = split(":",$_);
  35. print $linea "JOIN $canal_ayuda\n";
  36. print "<-" . $_;
  37. #print "test->" . $space[0] . " dots " . $dots[1] . "\n";";
  38.         if ($space[0] eq "PING")        {       print $linea "PONG " . $dots[1] . "\n";
  39.         print "->PONG :". $dots[1] . "\n";  
  40.         }              
  41. if ($space[1] eq "JOIN" && $nicks[1] eq $nick && $chanel[0] eq $canal_ayuda)    {
  42.         &topic("$canal_ayuda","@topic");
  43.         print $linea "JOIN $canal_opers \n";
  44.         }
  45.  #fin del if join
  46.         if ($space[1] eq "PRIVMSG" && $space[2] eq $nick)       {
  47.         my $dentro = exists $entra{$nicks[1]};
  48.                 if ($dentro == 1)               {      
  49.         @mensaje = split(" ",$dots[2]);        
  50. my $existe = exists $gente{$nicks[1]}; 
  51.                 if ($existe == 0)      
  52.                 {                      
  53. print $linea "PRIVMSG $nicks[1] :Su mensaje a sido enviado, en unos momentos sera atendido, gracias. \n";
  54.                         @rand_list = keys(%opers_activos);
  55.                         $numero = @rand_list;  
  56.                         if ($numero >= 1)                               {      
  57.                         $azar = rand($numero);                 
  58.         print $sock "PRIVMSG  $rand_list[$azar] :El usuario $nicks[1] tiene el mensaje : @mensaje \n";                          }                               elsif ($numero <= 0)                            {                               print $sock "PRIVMSG $canal_opers :El usuario $nicks[1] tiene el mensaje : @mensaje \n";                                $gente{$nicks[1]}="1";                          }                       }               }       }       if ($space[1] eq "JOIN" && $nicks[1] ne $nick && $chanel[0] eq $canal_ayuda)    {       print $sock "MODE $canal_ayuda +v $nicks[1] \n";        print $sock "PRIVMSG $nicks[1] :Hola $nicks[1] , Soy $nick , el encargado de ponerte con un operador. Describa brevemente su problema \n";      $entra{$nicks[1]}="$chanel[0]"; }       if ($space[1] eq "PART" && $space[2] eq $canal_ayuda)   {       delete($gente{$nicks[1]});      }       if ($space[1] eq "PRIVMSG" && $space[2] eq $canal_opers)        {       @escucha = split(" ",$dots[2]);         if ($escucha[0] eq activo)              {               $activo = exists $opers_activos{$nicks[1]};                     if ($activo == 0)                       {                               $opers_activos{$nicks[1]}="1";                  &informa("1","$nicks[1]");                                      }                       elsif ($activo == 1)                    {                       &error("1","$nicks[1]");                        }               }               if ($escucha[0] eq desactivo)           {
  59.                 $desactivo = exists $opers_activos{$nicks[1]}; 
  60.                 if ($desactivo == 1)           
  61.         {                       delete($opers_activos{$nicks[1]});     
  62.                 &informa("2","$nicks[1]");                      }
  63.                         elsif ($desactivo == 0)
  64.         {      
  65.                 &error("2","$nicks[1]");
  66. }
  67.                 }      
  68.         if ($escucha[0] eq lista)               {
  69.                         @lista_temp = keys(%opers_activos);                     {      
  70. print $linea "PRIVMSG $canal_opers :Operadores activos :@lista_temp \n";       
  71.                 }      
  72.         }      
  73. }
  74. sub error{     
  75. if ($_[0] == 1) {
  76.         print $linea "PRIVMSG $canal_opers :$_[1] Error Ya estas activo como OPERador \n";      }
  77.         elsif ($_[0] == 2)      {
  78.         print $linea "PRIVMSG $canal_opers : $_[1] Error Lo siento NO estas en la lista \n";
  79.         }
  80. }
  81. sub informa{
  82.         if ($_[0] == 1) {      
  83.         print $linea "PRIVMSG $canal_opers :$_[1] Se añadido a la lista con exito \n";
  84.         }       elsif ($_[0] == 2)      {
  85.         print $linea "PRIVMSG $canal_opers :$_[1] Se le borro de la lista con exito \n";        }
  86. }
  87. #sub join #{#}
  88. #join fin
  89.  #sub nick#{#}
  90.  #nick fin
  91.  #sub canal#{#}
  92.  #canal fin
  93.  sub whois{}
  94. #whois fin
  95.  #sub raw#{#}
  96. #raw fin
  97. sub topic { print $linea "TOPIC $_[0] $_[1] \n"; }
Coloreado en 0.008 segundos, usando GeSHi 1.0.8.4



Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
########################################################
##########   CONFIGURACION  Bot Perl ###################
########## 2001-2009 Javier Fernández Viña (ZipBreake) #    
########## [email protected] - http://jfv.es #
##############
########################################################

######### CONFIGURAcION SERVIDOR ############
$servidor = "deneb.gentechat.org";
$puerto = "6667";    
################## FIN ######################
######### CONFIGURACION BOT #################
$botnick = "Administrador";
$botclave = "zipbreake";
$botident = "Servicios";
$botinfo = "Guardian";
############## FIN ##########################
######## CONFIGURACION SALAS ################
$canal = "#salas";
############## FIN ##########################
####### CONFIGURACION OTRAS SALAS ###########
$canal_ayuda = "#ayuda";
$canal_opers = "#pruebas";
############## FIN ##########################
###### CONFIGURACION USUARIOS ###############
$root = "DaNnY";
############## FIN ##########################
####### CONFIGURACION DE VARIABLES ##########
%gente = "";@topic = "Bienvenid\@s a $canal_ayuda Plantea tu duda por Privado a $nick o bien en caso de estar algun @ disponible en el General";
############## FIN ##########################



3  [[ AYUDA DEL BOT ]]  
5-= ADMINISTRADOR =-
 
 
- Ayuda rápida:
 
+ 12/msg ADMINISTRADOR <comando>. Para utilizar el comando.
+ 12/msg ADMINISTRADOR <comando> Para más información.
 
 - Comandos de gestión:
 12AVISO    Modificas la lista de Avisos a realizar en la sala.
 12KICK     Expulsas a un usuario atraves de Administrador
 12BAN      Baneas la host ident y nick de un usuario.
 12REGISTRO Das Acceso al bot como Usuario ( +v )
   - Comandos de Moderación:
 12OP       Le das poderes de (@) Moderador a un usuario ( SIN REGISTRO )
 12VOZ      Le das poderes de (+) Si el canal esta Moderado puede hablar.
 12ON       Te activas como OPERador en general
 12OFF      Te ausentas como OPERador de la sala especifica
 12AWAY     Te ausentas como OPERador de todas las salas
   - Comandos de Operador:
 12ONOTICE  Manda un Notice a todos los Operadores (@) de la sala
 12NORMAS   Muestra las Normas en la sala indicada
 12MASSKICK Comando para la expulsión de CLONES

4NOTA: Este BOT es un SERVICIO ofrecido unicamente por GenteChat IRC Network. Su función es ayudar a moderar las salas principales.

 - COMANDOS para el ROOT:
  + Comandos de Gestión :
 12IDENTIFY    Te identificas como ROOT del BOT
 12ADMIN       Administras la lista de ADMINS del BOT
 12OPER        Administras la lista de OPERS del BOT  
 12MODERADOR   Administras la lista de MODERADORES del BOT
 - Comandos de Salas :
 12JOIN        Haces que el BOT entre en la sala indicada    
 12PART        Haces que el BOT salga de la sala indicada
 12JOINALL     El BOT entra en todas las salas guardadas en la BD
 12PARTALL     El BOT sale Automaticamente de todas las salas. Nota: No sale de la Sala DEBUG del BOT.
 12MODO        Cambias los modos del BOT
 12CMODO       Haces que el BOT cambie los modos en la sala especificada
 12IGNORE      Añades a un usuario en la lista negra del BOT
 - Comandos de Configuración de Accesos :
 12SET      Modificas los ACCESOS al BOT
 12UNSET    Modificas los ACCESOS al BOT
 12RESET    Reseteas los Niveles de ACCESO al BOT
 12QUIT     El BOT sale de la red por defecto.
 12RESTART  El BOT Sale y re-entra a la RED por defecto.
 12EXIT     Sale de la RED forzadamente y Cierra el programa.
 4Fin de la Ayuda

Ayuda del Bot
   !AYUDA - Solo respondo a privados. Perdonen las molestias.
Fin de la ayuda.
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Necesitaría que alguien me corrigiera el código fuente porque no deja de darme "panic" y no sé por qué motivo me pasa eso.

Administrador, si puede, por favor, le agradecería su colaboración.
DaNnY
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2010-03-11 12:44 @572

Anterior

Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 20 invitados