hzeroo/QHBot — pull request #16 by 16BITBoy (2012-07-19 00:23:35+00:00)
Title: Fix del bug de /invite y permisos.... guarros pero permisos xD

Bien, el tema de /invite parece estar solucionado ahora.

Como has visto, algunos se divierten tirando el bot, buscandole bugs, asi que he pensado que había que hacer algo con los permisos, ya que actualmente cualquiera puede cambiarle el nick a quien quiera, y tambien puede invitar a cualquiera.

He implementado un pequeño sistema que comprueba el bareJid (esto es segun leí, la cuenta de correo sin el id completo con el recurso, es decir "mimail@gmail.com" y no "mimail@gmail.com/4567mehjeje") para tomar decisiones en función de si pertenece a una lista de administradores, definida en el fichero QHBot.ini

Para ceder privilegios a un usuario, crea una clave justo debajo de Port llamada Admlist y escribe las direcciones de correo separadas por espacios. Por ejemplo:
Admlist=zero@h-sec.org arkangelhacket@gmail.com aperezhrd@gmail.com

Las líneas de código que pertenecen a este parche guarro estan precedidas de un comentario especial que QtCreator debería identificar. Todas las lineas y bloques de código de este parche estan precedidas de:
// FIXME: FIX PERMISOS
o
/* FIXME: FIX PERMISOS */
codigo;
....;
/* END FIXME */

De tal manera que mediante QtCreator o bien con una busqueda tradicional podamos localizar y borrar en el momento oportuno.

El comportamiento que tienen /invite y /setnick en caso de no ser admins es ignorar la petición y cambiar el nick a su propio usuario, respectivamente. Es decir, en el caso de /setnick uncorreo@quenosoyyo.com UNNICK se procesaría como /setnick mi@correo.com UNNICK

PD: El tiempo que me he tirado para esto es por culpa de QSettings xDDD Bueno no, un despiste mio con settings.beginGroup() y endGroup().