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
excelente blog saludos.
saludos
Y lo otro funciona con mysql?
debo crear una base de datos ?
Sorry si las preguntas son muy obvias.
<code>$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
</code>
No lo entiendo...
Espero que me ayudes ^^
Un saludo hermano ;)
Saludos
<b>Fatal error:</b> Call to undefined function pcntl_fork() in <b>/home/webcindario/c/o/conceptnet/super/bot.php on line 6</b>
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 ;)
saludos
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!
saludos amiga!
saludos y suerte
;\ sabes como podria solucionar eso?
[12:06.21] Conectando ...
[12:06.31] Conectado.
[12:06.31] nick -> killbot
[12:06.31] ident -> killbot
Undefined property: myBot::$CHECK_NS in /home/usuario/www/bot/oophbot/class/bot.class.php on line 111
Y no hace nada mas.
Que version te descargaste?
in our lives makes a difference. On a regular basis invested
in taking into consideration the assorted things that we face each and every
moment is simply really important, as no other person will encounter your life for any of us.
I feel that men and women ought to be a whole lot more
mentally stable. Science is terrific, nevertheless so much
of whatever we think about is indeed abstract. Having a
cup of tea is a zen process that brings one back to the present second.
We have to be more in the here and today, without being overwhelmed by existence and
the theatre we deal with each day. https://Ashleysboringblog.Wordpress.com/