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.
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?