El rincón de Zerial

Informática, GNU/Linux, Seguridad, Hacking, Programación, Ocio

ooPhBot: Bot para IRC escrito en PHP

Octubre 25th, 2008 · 19 Comentarios

Hace algun tiempo programé un bot para IRC en PHP, este bot tenia varias caracteristicas y opciones, usaba una base de datos mysql para almacenar lo que iba “aprendiendo”. Dentro de ellas están:

  • Distintos niveles de privilegios (administrador, owner de un canal, access de un canal)
  • Funcion para realizar busquedas en Google (!google <palabra>)
  • Function para buscar definiciones en Google (!define <termino>)
  • Distintas funciones de administracion de usuarios (!admin|access add|del|list)
  • etc

Algunas de las caracteristicas de este bot es su proteccion anti flood que se define por el owner del canal y el Oráculo (Oracle; término puesto por mi a esta funcionalidad) que permite enseñar al bot definiciones de palabras para luego ser consultadas (!learn palabra significado, ?? palabra).
Este bot corre bajo php-cli (command line interface), es decir, por consola y tambien puede ser ejecutado desde la web. Queda trabajando como un demonio.

Version Actual:
La version actual es la misma desde enero del año 2007, no he vuelto a tocar el codigo (aunque sigo usando el bot), funciona todo menos las busquedas de terminos y definiciones en Google que, me imagino, hay que hacerle un par de modificaciones al codigo para que parsee bien las busquedas.

Changelog

VERSION 1.0.4 – 26 ENE 2007

- Cambiado el sistema de autentifiacion. Se verifica que el usuario
este identificado con NickServ.

VERSION 1.0.3 – 19 ENE 2007

- Se agrego a la clase Bot el metodo TXTflood( … ) que verifica
el flood de texto de un usuario en un canal especifico, esta opcion
puede ser habilitada o desactivada por usuarios con privilegios mediante
!flood on|off en el canal.
- Se ha reescrito la clase que permite la identificacion y permite que los usuarios
tengan distintos privilegios. (CHAdmin.)
- Corregido el bug que expulsaba de manera distinta a !k o !kick (0 nick o [spacio] nick)
- Agregada la clase Google con los metodos !define y !google.

VERSION 1.0.2 – 16 ENE 2007

- El bot corre en segundo plano (fork).
- Agregada una funcion extra en la clase del bot usando el binario ‘numerador’
ubicado en el directorio extras, la funcion es !num NUMERO.
- Fixeado bug que causaba la caida del bot al enviar dos veces el comando
para setear una clave. (reportado por Pons)
- Agregado soporte para unrealircd (antes solo habia sido probado en bahamut).
- Testeado en dancer-ircd, bahamut, Hyperion y unrealircd.

VERSION 1.0.0 – 15 ENE 2007

- Corregido el fallo que cerraba la conexion a la base de datos por idle.

Descargar:
Version 1.0.4: zip | tar.gz | tar.bz2

Posts relacionados

Etiquetas: GNU/Linux · Mis cosas · Programación · Proyectos

19 respuestas hasta ahora ↓

  • 1
    deb CHILE Debian GNU/Linux Galeon 2.0.2 // Nov 5, 2008 a las 6:27 pm

    borraste el archivo?
    excelente blog saludos.

  • 2
    Zerial CHILE Linux Mozilla Firefox 3.0.3 // Nov 6, 2008 a las 12:01 am

    deb: gracias por avisar. Tenia mal linkeado los archivos, ahora funcionan.

    saludos

  • 3
    deb CHILE Debian GNU/Linux Galeon 2.0.2 // Nov 6, 2008 a las 9:59 pm

    De nada.
    Y lo otro funciona con mysql?
    debo crear una base de datos ?
    Sorry si las preguntas son muy obvias.

  • 4
    Zerial CHILE Linux Mozilla Firefox 3.0.3 // Nov 6, 2008 a las 11:08 pm

    Tiene un script que se llama install.php, miralo.

  • 5
    Cibort CHILE Windows XP Mozilla Firefox 3.0.4 // Dic 19, 2008 a las 7:12 pm

    Hola disculpa por hacerte esta pregunta pero mira que debo poner en:

    $pid = pcntl_fork(); // el papa tendra un hijo, el hijo mata al papa
    if ($pid == -1)
    {
    die("Se produjo un error al iniciar el bot\n");
    }
    else if ($pid)
    {
    exit(); //Dejamos al hijo huerfano

    No lo entiendo…

    Espero que me ayudes ^^

    Un saludo hermano ;)

  • 6
    Cibort CHILE Windows XP Mozilla Firefox 3.0.4 // Dic 19, 2008 a las 8:48 pm

    Es que no el bot se instala pero luego al ejectutar el bot.php no pasa nada…

  • 7
    Zerial CHILE Linux Mozilla Firefox 3.0.4 // Dic 20, 2008 a las 5:23 am

    Cibort: Tu no debes tocar el código fuente. El fichero bot.php no tienes para que modificarlo, basta con que modifique el fichero de configuracion y ya está.

    Saludos

  • 8
    Cibort CHILE Windows XP Mozilla Firefox 3.0.5 // Dic 21, 2008 a las 3:59 am

    Pero es que cuando lo instalo esta todo perfecto, pero cuando abro el bot.php para que se conecte me aparece esto:

    Fatal error: Call to undefined function pcntl_fork() in /home/webcindario/c/o/conceptnet/super/bot.php on line 6

    Y bueno por eso te pregunte si debía editar algo.

    Y no funciona… al comienzo pensé que era el host, lo probé en 3 host distintos y todo lo mismo, luego pensé que yo era el del problema (XD) y lo intento un amigo de España y le paso lo mismo.

    Lo queremos meter en ogamenet (irc://irc.onlinegamenet.net:6667) es un poco distinta a lo que el bot esta hecho (funciona con cuentas de usuario no con nicks, en otras palabras tenemos un AuthServ y no un NickServ, pero debería funcionar de todas maneras) y nada…

    He estado tratando de instalarlo casi desde que pusiste el articulo (como el 10 de noviembre o algo así), es que buscamos un BOT como ese hace bastante tiempo :/

    Un saludo hermano, y gracias por responder ;)

  • 9
    Zerial CHILE Linux Mozilla Firefox 3.0.4 // Dic 22, 2008 a las 3:08 pm

    Cibort: Verifica la version y configuracion de php, todo indica que está desactivada esa funcion o bien fue compilado sin la opcion correcta. En otras palabras, tu php no “soporta” esa función, no tienes que modificar nada en el código.

    saludos

  • 10
    mama21mama ARGENTINA Linux Mozilla Firefox 3.0.5 // Ene 29, 2009 a las 11:29 am

    o/ el anti-food funciona muy bien; pero el buscador de gooble no funca.

  • 11
    Zerial CHILE Linux Mozilla Firefox 3.0.5 // Ene 29, 2009 a las 1:25 pm

    mama21mama: hola! \o/

    Debe ser un error de parseo en la funcion de busqueda. El buscador obtiene los resultados en html desde Google y los parsea segun un patron especifico, quizas google cambio de posicion un tag o agrego o elimino cosas y dejo el script inservible. Vere si puedo solucionarlo.. tambien puedes meterle mano a ver si lo puedes solucionar.

    Saludos!

  • 12
    TiaN CHILE Windows XP Mozilla Firefox 3.0.10 // May 21, 2009 a las 12:17 pm

    yo fuí el primer betatester :D
    saludos amiga!

  • 13
    deb CHILE Debian GNU/Linux Mozilla Firefox 3.0.6 // May 24, 2009 a las 3:12 am

    Hola tu bot es genial, pero me gustaría si es posible areglaras la parte de la busque de google
    saludos y suerte

  • 14
    Zerial ARGENTINA Linux Mozilla Firefox 3.0.10 // May 24, 2009 a las 5:28 pm

    @deb: Pronto publicare la siguiente version del bot, con esa funcionalidad ya corregida.

    saludos!

  • 15
    Zerial CHILE Linux Mozilla Firefox 3.0.10 // May 26, 2009 a las 2:12 pm

    @deb: Aca esta la nueva version: http://blog.zerial.org/proyectos/oophbot-v105/

  • 16
    Bahal CHILE Windows XP Opera 9.80 // Dic 9, 2009 a las 3:29 pm

    Hola, me gustaria probar el bot pero estoy teniendo un problema al ejecutarlo desde el navegador, Fatal error: Call to undefined function pcntl_fork() in C:\AppServ\www\oophbot\bot.php on line 6
    ;\ sabes como podria solucionar eso?

  • 17
    Zerial CHILE Linux Mozilla 1.9.1.5 // Dic 9, 2009 a las 3:54 pm

    Hola @Bahal:

    En Windows la funcion pcntl_fork() no está por defecto, debes compilar php con el soporte o bien instalar el modulo.

    saludos

  • 18
    Bahal CHILE Windows XP Opera 9.80 // Dic 9, 2009 a las 4:31 pm

    Gracias, voy a ver como me va con eso, gracias por responder tan rapido ;)

  • 19
    Zerial CHILE Linux Mozilla 1.9.1.5 // Dic 9, 2009 a las 4:34 pm

    Si te resulta podrias comentarlo aca, para ayudar a mas gente que lo necesite!

Deja un Comentario